/* ReadMe - OMEGA FORGE v2.3 ****************************** * Installation Instructions * ****************************** 1. Import the erf 2. Ignore the missing files "dm_inc_forge.ncs" and "dm_forge_config" and "dm_forge_readme"- These files are includes 3. In previous versions, we've had a function called SetupForgeTokens() in our onload event. As of v2.3, this is no longer needed. You should remove this function from your onload event after importing. 4. Set up a door transition for players to enter the forge area 5. Open the file - "dm_forge_config" This is the configuration file where you can tweek the system to your liking. cep) The first thing you need to do is tell the system whether your using the CEP or not. If you ARE using the CEP do the following: - uncomment the include line for zep_inc_main. - set the USE_CEP constant to TRUE. If your are NOT using the CEP, do nothing as the defaults are NO cep - the first constant is FORGE_MAX_ENHANCEMENTS. This is the max number of item properties an item can have before you can no longer forge it. Default is 8, but you can set this as high or low as you want. Be warned, once an item has this many, regardless of if they all were forged or prebuilt, it can no longer be forged with any more. - next is PAYMENT_METHOD. this one has been changed to an integer, meaning it can only be set to any whole number. If set to 1, then players will only need gold as payment for forging. If set to 2, then players will need tokens (included with download) You will need to dispurse these tokens for players if not using gold. If you set this constant to 3, then PCs will need both gold and tokens for payment of forging. Please keep in mind that this must be set to either 1,2,or 3. - next is FORGE_TOKEN_VALUE. This is only used if PAYMENT_METHOD is 2 or 3. This tells the system how much each token will be worth in gp for forging. Default is 15,000. Setting this lower will make each mod cost MORE tokens, raising it will lower the amount of tokens needed per mod. - the next one is CASH_COST_MULTIPLIER, which is a float rather than an int. This one is only used if PAYMENT_METHOD_GOLD is TRUE. This constant is multiplied against the gold cost of the mod to make it more expensive to forge items. Default is 10, so if forging a mundane longsword (worth 30gp)and adding the +1 enhancement property (making it worth 1,648) then the cost in gold by default would be 16,480gp. This can be set as high as you want to make forging more expensive, or as low as 0.1; which would make the above example cost 1/10, or 165gp. - this one is used only if using gold as payment. EPIC_COST_VAR. It is a float that is multiplied against the ending balance "IF" the item's level after forging will be epic. So if you would like an increase of double costs for epic items, you'd make this float 2.00 - next is the PROPERTY_REMOVAL_VAR, which is also a float. This is used in conjunction with removing IPs from items. Setting this below 1.00 will cause a very low cost to the remove each property, setting it higher than 1.00, it acts as a multiplier just like the CASH_COST_MULTIPLIER. default is 1.00 equal costs (disabled) - next is a set for visual effects costs. In previous version, the costs of visuals was preset by me, now, you choose how much you want them to cost the player. There are two settings, one for gold, one for tokens. You need to set the one of the method your using :) (the reasoning for this is that visuals have no real price increase to measure costs, so we have to pick one ourselves) - next is new with v2.3: the PLOT_UNFORGEABLE switch. This is a boolean integer so you can set it to TRUE (on) or FALSE (off). If set to TRUE (on), the any item with the plot flag checked, will be unforgeable. This is good for those of you who have storyline weapons equivalent to say excalibur, or ragnarok, and don't want PCs changing it. It is controlled by an ondisturb script connected to the forges. - next is another new addition in v2.3 that came with the new Cast-Spell IPs system. LIMIT_SPELL_LEVEL is another boolean integer switch to be turned on or off. If set to TRUE, then a PC will only be able to enchant an item with a spell equal in level as if a wiz or cle of the PCs level could cast. With me so far...? Ok, some examples :) magic missles = 1st level spell castable by a 1st level wizard > so a 1st level PC could enchant an item with it. fireball = 3rd level spell castable by a 5th level wizard > so a 5th level PC would be needed to enchant it onto an item. implosion = 9th level spell castable by a 17th level cleric > so a 17th level PC would be needed to enchant this spell onto an item. Should you turn this off (FALSE), anyone with enough payment could enchant an item with ANY spell. - next is another new switch UNLIMITED_USES_ALLOWED. Simply put, making this TRUE will allow PCs to add spells with unlimited uses/day. FALSE disables this option from appearing. default is FALSE (disabled) - a final addition in v2.3 is the ALLOW_TIME_STOP switch. Not every PW (including my own) likes allowing this spell, therefore I've added this switch to disable its availability as well. TRUE makes it available, FALSE disables the option. default is FALSE. - the next is a set of constants called -Item Level by gold value constants- These are the values in gold for which an item's level is measured. Choose a value in gold pieces for each level from 1st thru 60th. There are three rules for these; 1- the values must be ascending starting from L_01 2- no value can be larger than the L_ANY constant 3- DO NOT, under any circumstance raise or change the L_ANY constant (this is the highest signed integer that can be used in nwscript) These are defaulted to bioware's values, so if you use the default ILR rules, then just leave these be. - the last one is the -item's max level- constant. This one works off the previous levels constants. To further limit the power of items by level, simply use one of the constants from the -Item's level by gold value constants- Default is L_ANY which is 2,147,483,647. DO NOT raise this number, it is the highest signed integer in nwscript. last) Save and close the script. Do not compile it, it is an include and will not compile. 6. Build your module! This is very important, most first time users forget this part and then write me asking why their changes do not work. You must do a module build to recompile all the systems scripts correctly! 7. Save your module and enjoy. ****************************** * Implementation * ****************************** The system is conversation driven, and uses int to identify the item property being added. It also uses the IPSafeAddItemProperty() function with the ...REPLACE_EXISTING_PROPERTY... constant. Meaning, if a player adds bonus fire damage 1d6, then later decides he wants more fire damage, and adds bonus fire damage 1d10, this function will replace the existing fire damage with the new value. This will NOT replace one damage with another if the damage subtype is different, so you could have a weapon that has fire 1d6, cold 1d10, acid 2d6 on it at one time, same with skills, and all the others. Lastly, the tokens themselves are stackable bullet items, and only usable by outsiders, so unless you allow you PCs to change their race to outsider, they won't be firing their precious forge tokens at enemies ... hehe :p ****************************** * Contents Location * ****************************** The erf will import the following custom files to the mod. » Creatures « • Larry · TAG "omegasmith01" » Creatures(custom) > NPCs > Others • Moe · TAG "omegasmith02" » Creatures(custom) > NPCs > Others • Curly · TAG "omegasmith03" » Creatures(custom) > NPCs > Others • Joe · TAG "omegasmith4" » Creatures(custom) > NPCs > Others • Shemp · TAG "omegasmith5" » Creatures(custom) > NPCs > Others » Items « • Forge Token · TAG "dm_ftoken" » Items(custom) > Plot Item » Placeables « • Omega Forge (left) · TAG "omegaforge1" • Omega Forge (center) · TAG "omegaforge2" • Omega Forge (right) · TAG "omegaforge3" • Anvil (1st) · TAG "omegaanvil1" • Anvil (2nd) · TAG "omegaanvil2" • Anvil (3rd) · TAG "omegaanvil3" • Omega Chest · TAG "omegaforge4" • Anvil (4th) · TAG "omegaanvil4" • Omega Pool · TAG "omegaforge5" • Anvil (5th) · TAG "omegaanvil5" All placeables are found here: » Placeables(custom) > Special > Custom 1 » Area « • Omega Forge · TAG "omegaforge" » Dungeon tileset: has one doorway for transitions ****************************** * Support * ****************************** Please send any questions, comments/suggestions, or bug reports to: eckerj@sbcglobal.net NOTE: If you change ANY scripts other than the config file, please don't send me "bug reports". This will be considered unsupported. ***************** * RELEASE NOTES * ***************** BETA v0.1 •First wrote BETA v0.5 •Fixed bug where it wasn't replacing existing same type properties. Thanks to Thales Darkshine and SunJammer for their assistance on this. •Public Release BETA v0.7 •Fixed bug where a PC was still charged for adding an item property that would decrease an existing property. •Fixed bug where visual effects were being added for free BETA v0.9 •Changed conversation flow near end to allow faster upgrading •Fixed calculation bug that was charging PCs for decreasing an itemproperty's bonus (again) •Adjusted calculations of mod cost to use floats rather than int's for more accurate math; system compares the floats before converting it to int for final cost •Rewrote most custom functions to use base 10 division and modulos remainders; Though not very noticeable, this should be more performance friendly for online play (plus it shortened the include by about 450 lines of code or so, hehe) v1.0 •Added constant int toggle to choose whether gold or tokens are used as payment •Full release v1.1 •Added CASH_COST_MULTIPLIER constant float for better price control when using gold. •Fixed exploit of free modifying; exact details will be held until confirmation of fix. •Fix issue with gloves and enhancement bonuses; they don't except them. •Added Attack Bonus modification for gloves in particular; and other weapons if PC so wishes. -Thanks to scarface for his catch of free modifying; and his addition of the gold cost multiplier constant float. v1.2 •Fixed bug with custom tokens being overwritten if two players where forging at exact same time. •Added three conditional scripts for above bug. •Added new function for Cost custom tokens in convo. Make sure to add this to the onload event of your module •Added compatability for CEP melee weapons v2.0 • Added new config script • Added new switch to choose whether or not to use the CEP • Added custom token in convo telling what the items new level will be • Added customizable ILR chart to measure items levels v2.1 • Added fix to PAYMENT_METHOD_GOLD not charging for mods. thanks to scarface for this fix • Added new ability - Regenerate to forge options. This can be added to most items, not weapons though • general maintenence of some functions v2.2 - Added removal feature to ILR Chest - Added EPIC_COST_VAR to increase costs of epic forged items - Added PROPERTY_REMOVAL_VAR for use in removing IPs costs v2.3 - Fixed major bug/exploit that appeared in multiplayer - Added 3rd payment option. Now you can charge a player both gold and tokens. - Added switch to disallow forging of plot marked items - Removed the setupforgetokens() function from system as its no longer needed - Added 5th smith,(Shemp) Cast-spell IPs are now apart of the Omega Forge. FINALLY! Now forge your own wands, staves, or even add spells onto armor or rings. - Added Mighty to forge options. Can be added to ranged weapons. - Added Feat, Skill, and Cast-Spell removal features. - Added switch to disallow Time Stop availability ***************** * CREDITS * ***************** A special thanks to the following for their help and additions to this system: Scarface - for the additions of the gold vs token toggle allowing a builder to decide whether payment should be tokens, or gold; and for reporting many major exploits of the OmegaForge project. Darkshine and SunJammer - for their assistance in debugging the replace existing properties feature, and timing of costs thereof. Realms of Netheria PW creator (Phunic) and staff - for being the first to use/test (try to break) the forge during beta testing of the system. *** I hope you enjoy it! *** OmegaDM (Zdm)