| 04-04-2005, 08:41 PM | #1 |
Guest | i don't know how many people have heard of this new MMO thats still in its beta stages but i wanted to make an arena map based off of the PvP aspect of this game their are a few quarks that i need help on and they are as following 1) their are 3 diffrenet effects that are in the game and can be removed only by the using the proper sbility to remove them they are enhantments, hexes, and conditions. i need someway to distiguish between them so when someone cast a spell that removes a condition it doesn't remove an enchantment or a hex etc 2) their is something called arrows of health/mana regen/degen that are capped at -10/+10 arrows the cap is determined by their sum total and can be caused by conditions, hexes, or enchants. the amount health arrow give/take are -2/+2 hp and mana is -.33/+.33. this cant be modified so i need some way to prevent spells that decrease damage from effecting this 3) their is a resource called adrinaline the way this works is each ability has a adrinaline pool and this pool must be filled to a certine number before the skill can be used. 1 point of adrinaline is added to all pool each time the character hits with an attack 4) abilities are upgraded by putting points in an attribute that the skill is related to. for example necromancers have an attribute called blood magic with many skills linked to it. when you increase your blood magic attribute all abilities linked to that skill improve. i need to be able to upgrade these abilities and i need someform of tutorial on how to create in game menus for attribute distribution sorry if you cant understand something i posted above. plz tell if so and i will try to explain in a clearer manner |
| 04-04-2005, 09:38 PM | #2 |
Triggers, triggers, triggers. Bunch of triggers! That's what you need. Not simple single triggers, but whole trigger systems. 1) The warcraft engine treats every buff as a buff. There's no way to tell a dispell ability to target only hexes or only conditions. All buff removal must be done by a trigger system that runs when a "blank" dispell ability is cast and verifies buffs against a database and removes them according to their status. 2) Well, diferent attack-based poisons, even when based on the same ability, can stack if they have the proper flag set, I doubt mana re/degen abilities or healing spells do, however. So we'll just trigger it again, shall we? You again need a buff database which you would compare every second to the buffs each unit has, thus determining the life/mana arrow. 3) You would need to disable abilities untill you have enough adrenaline, the only way I can think of doing this dynamically is making the abilities require a building, and once a player has enough adrenaline points you create that building for him somewhere (the building would have to have an invisible model and no sight range, so players can't notice it), thus enabling the ability. For each number of adrenaline points, you would need your own building, so that solution would suck if adrenaline points go too far up. 4) You would need multi-level unit abilities on your heroes which you would then level up with triggers, or completely triggered spell effects. There's no way to just make regular spells deal damage equal to a certain attribute. |
| 04-04-2005, 10:24 PM | #3 |
Guest | i like all your suggestions except for 3 which is probley my fault from a bad explenation. each adrinaline ability has its on pool thats independent from another so if lets say you have a skill that needs 4 adrinaline to use that abiity pool is set to zero and the skill is used i have a feeling that in order for me to do this im going to have to do all abilities in the game through triggers. the only question i have is this going to couse unimaginable lag im looking at 75 abilities per class and 6 classes. |
| 04-04-2005, 11:28 PM | #4 |
Entirely depends on what you want your abilities to do. If you are good at generalizing solutions, you can do complex, but efficient systems. Let's just take a look at the dispell system, as an example: You can make the dispell code with 100 if-then-elses for every buff (hex, condition, whatever) there is, or, you can set all those to a few variable arrays and then just loop through them, which will take same processing time, but the trigger wil be shorter and will take less memory, and, most importantly, it will be easier to make. Then you can copy this trigger for every dispell ability there is, or, more efficiently, you can make one master dispell trigger that's in charge of doing all the checking and removing and then all that the other, ability-specific triggers have to do is set a few variables like what is the target unit and which type of buff will be removed by that spell and then they all call the master trigger with these settings. If you have an area of effect dispell, you would call the master trigger multiple times, once for every unit in the AoE. As far as adrenaline goes, I still see nothing wrong with my way. Whenever the spell is cast, you reduce the player's adrenaline points (which would be an integer variable, I suppose) by the ammount the spell uses, and you remove the corresponding buildings. So, if a player has 6 points and uses a spell that requires 4, then his points are reduced to 2 and the 4 buildings that allow him to cast 6, 5, 4 and 3 point spells are removed, so now he can no longer cast a spell that requires 3 points untill he gains another point, when the building-that-allows-3-point-spells is remade for the player. |
| 04-08-2005, 09:39 PM | #5 |
Guest | i see 2 ways of doing this a) do each abilty as a function and have a master trigger that calls them as needed b) have one trigger that can handle any kind of spell effect and the effect is determined by information stored in arrays |
| 04-10-2005, 08:56 PM | #6 |
This idea you have about the game is quite interesting since at one time I was "about" to make a GW Wc3 conversion, it was going to be a major campaign with many different loading screens, all the abilities (which is hard since AN has yet to let any fansite release all the abilities). From what I can see this may be a good idea for a fun game, and as far as difficulty goes in the creation of this, good luck dude. If you ever get this major game done (due to the factor of all the triggering you'll have to master) I'd like to try it out, see how close it comes to the actual game. Good Luck, Peace†|
