Ambrosia Garden Archive
    • More exiting spells...


      Hi,
      I've been thinking of making a fantasy rpg, but I'd like to have some more "advanced" spells in it if I do... So I guess I'll just have to ask about some things here then:

      Fear - is there any way to make a spell lower the moral for a NPC? If there is, a "fear" spell would be quite simple to do I think.

      Nova - well, I dont know what to call it, I have found it quite easy to create a "nova" spell, but only for the player. Would there be some way to create one for an enemy to use? (with "nova" I mean a spell wich shoots, for example, a ring of fire from the caster's body and hit's nearby enemies).

      Charm enemy - the engine rolls a random number between 0 and the spell level, and does the same thing for an enemy (not spell level for them, but their power of will). If you roll a higher number then your enemy, you control them (transform them into a friendly NPC). I just need to know if there is any way to check where an NPC is, and to make them transform back to a hostile NPC when the spell duration is over..?

      Invisibility - Is there any way to make the player invisible to enemies for a period of time? And then, to make you visible again if you attack anyone? Could this be neutralized with a "see invisibility" spell?

      And then, lastly, could there be more then just the "karma" statistic wich is used as a "user-created" statistic? For example, karma=charisma and one more wich = intelligence...

      Any help you could give me would be good, thank you.

      ------------------
      (url="http://"http://www.ledorax.da.ru")Ledorax Land(/url)
      (url="http://"mailto:ledorax@spymac.com")mailto:ledorax@spymac.com(/url)ledorax@spymac.com

    • Quote

      Originally posted by Ledorax:
      **Hi,
      I've been thinking of making a fantasy rpg, but I'd like to have some more "advanced" spells in it if I do... So I guess I'll just have to ask about some things here then:

      Fear - is there any way to make a spell lower the moral for a NPC? If there is, a "fear" spell would be quite simple to do I think.

      Charm enemy - the engine rolls a random number between 0 and the spell level, and does the same thing for an enemy (not spell level for them, but their power of will). If you roll a higher number then your enemy, you control them (transform them into a friendly NPC). I just need to know if there is any way to check where an NPC is, and to make them transform back to a hostile NPC when the spell duration is over..?
      **

      You could do this by first creating a variable, I'll use gb_Fear. and when the spell is casted it sets that variable to 1 and have it have a duration of 2 and the remove effect wuld set the variable back to 0. Then make the spell have an attack that has a massive radious covering whatever area you wnt to be effected by this, and an atack that is high enough to kill all of the NPC's on the map. Then make a mirror NPC of every hostile NPC's that the only difference is that it has a lower moral. Set the Death event link with a conditional so that when gb_Fear = 1 then remove all gained exp from that NPC's death and create it's mirror NPC(The one with the lowered moral) at actual x and actual y. This should do what you asked. I havn't tried it before but it should work. a similar method should also work for the charm spell although they won't fight for you and you would need the mirror NPC to have a stamina of 0 and they will not fight for you but won't do anything against you.

      Quote

      Originally posted by Ledorax:
      Nova - well, I dont know what to call it, I have found it quite easy to create a "nova" spell, but only for the player. Would there be some way to create one for an enemy to use? (with "nova" I mean a spell wich shoots, for example, a ring of fire from the caster's body and hit's nearby enemies).
      (/B)

      To make a Nova spell you make a spell called Nova. Then have it do no Damage and have it be casted on the caster. Set your Nova animation to it. Then, in the cast event link have it harm the player with the atribute alter thing, and play the Hero hurt sound (If you have one. It should work because I believe that NPC's only cast spells when the player is with in their LOS, so you would need to set the Nova spell to be as large as their line of sight.

      Quote

      Originally posted by Ledorax:
      Invisibility - Is there any way to make the player invisible to enemies for a period of time? And then, to make you visible again if you attack anyone? Could this be neutralized with a "see invisibility" spell?
      (/B)

      Well this one can't be perfectly. The easiest way is to set the player to set the cast event link of the spell to Freeze all NPC's on the map. or you could do something similar to the fear answer.

      Quote

      Originally posted by Ledorax:
      And then, lastly, could there be more then just the "karma" statistic wich is used as a "user-created" statistic? For example, karma=charisma and one more wich = intelligence...
      (/B)

      Sorry, You can't.

      ------------------
      Thanks,
      GrahamVH
      graham@warcraftcentral.com
      Coldstone Developer (url="http://"http://www.warcraftcentral.net/legends/main.html")http://www.warcraftc...gends/main.html(/url)

    • Quote

      Originally posted by Ledorax:
      **
      And then, lastly, could there be more then just the "karma" statistic wich is used as a "user-created" statistic? For example, karma=charisma and one more wich = intelligence...
      **

      I've simply renamed the other categories of statistics in such a way that it suits the function.

      ------------------
      -- Debra
      Danillitphil Productions
      (url="http://"http://www.danillitphil.com/graphics/index.html")www.danillitphil.com(/url)

    • Karma works just like a global, except it's an actual stat. You can use globals as stats in the same way.

      ------------------
      (url="http://"http://www.lordofthecows.com/ambrosiamemberstonight/")Ambrosia Members Tonight!(/url) (url="http://"http://www.lordofthecows.com/music/board_members/spamguy/moderatorsong.mp3")The Moderator Song(/url)
      Jingle Bells, Windoze smells, (url="http://"http://www.ambrosiasw.com/webboard/Forum61/HTML/001202.html")The Blue Mushroom Pub(/url) rocks (all 24 pages worth)!
      How are you gentlemen!! (url="http://"http://www.allyourbasearebelongtous.com")All your base are belong to us!(/url) You will have no chance to survive make your time...Mwa ha ha ha...
      -ZeroWing CATS, (url="http://"http://www.planettribes.com/allyourbase/AYB2.swf")All your Base(/url)

    • Quote

      Originally posted by LifeKnight:
      **Karma works just like a global, except it's an actual stat. You can use globals as stats in the same way.

      **

      Not necessarily, Karma will only store positive numerical values, globals will store any value.

      Edit: I can't spell
      ------------------
      Thanks,
      GrahamVH
      graham@warcraftcentral.com
      Coldstone Developer (url="http://"http://www.warcraftcentral.net/legends/main.html")http://www.warcraftc...gends/main.html(/url)

      (This message has been edited by GrahamVH (edited 12-08-2003).)

    • fear i believe you can affect target stats as it is, but i'm unclear if you can affect ai, i do know that some of the AI types run if they no longer have magic points...so try this backward method out.

      when you cast the spell it changes the value of a global,this changes teh conditional of an npc spell to true, they use the spell it squanders their magic points they are then forced to run.

      or delete and replace the npcs at their actualx&actualy; these would be set to flee, i'm using something similar for something i will be showing very soon, non-showcase related.

      nova for the npc is easy, as they only have one target
      ( correct me if i'm wrong they can't cast on their fellow hostile npcs, can they? Even if they can they can cast the spell multiple times very quickly )
      so basiclaly the spell would just be a graphical effect, to keep teh effect from firing more than once, use the 'cast' conditional event to launch the animation;

      add 1 to gb_novaSpell
      use a conditional does gb_novaSpell equal 0 if not End Event
      else using the stamp control with the npcx, npcy coords launch the animation

      additionally you could count to see how many hostiles npcs are in the conflict, ( its a predefined system global something like CounterHostileNPCs )and when the count equals the total amount, then fire the animation.

      invisibility, well it seems that oyu might be deleting them and replacing them with versions with no LOS,

      hmm, i can think of a way to get invisibility but its nt efficient, one would involve placing teh player inside a container and unlocking the camera and having them control it from inside their holding pen and when the spell expired place them at camera x,y

      the other way is to enable a spell for them one at a time the spell triggers their death event, this will divulge their location because they are then the current acting npc and in their death event place a new npc in teh location, this will not work at fast speeds i suspect, and is subject to error... :: shrug ::.

      another idea is that they can choose a strategy for entering;
      stealth or through the front door (ShinRa HQ, FF7...i came through the front door 😉 )
      this would allow you to create two versions of the map, one with blind characters no LOS and a char with no collisions sphere, which means you'd have to intentionally run into a guy for him to realize you are present.

      such an event would be placed in the initialization event, similar to the little girl that follows you in the demo game.

      The problem with switching to a location on the fly mid game is that it resets the npcs and their locations, health etc...this works if your game is like Zelda action/adventure...and actually works for an rpg as well, its just that you might anger some people because they might currently be struggling with defeating the npcs and seeing them all restored could be aggrivating.

      a see invisibility spell would be something they cast to bring you back to teh current camera coords, ie if you saw them casting you could make the camera run away to avoid being in range when revealed...the problem with playing with the camera is the camera doesn't avoid walls and it is possible to get trapped inside of an area of no access...all in all i might just stick to raising the player's evasion stats, ones that make him faster and harder to target. that and switch to an animation that's got not collision sphere...this is intangible which is far easier to implement than invisible.

      karma's the only one you can use, you can seriously think out what you want to use some stats for and if the value isn't relevant to your game then you can use it, ie if noone uses cold protection/attack then its yours to manipulate, and you could multiply it by 100 everytime to get an integer number.

      but unless you want them checking dialog boxes there's no other way to display the contents of a global directly, without using graphics and a loop to check the value and alter the graphics.

      the answer exciting spells = advanced work, for each one of those spells you have to put a system in place to manage and execute them, and make sure they can occur synchronously..making the engine do extra math slows it down.

      ------------------

      ... bwahhaaaaahaaaaaugh fooooolish sammurai.

    • Well, here I am giving up all our secrets. Ledorax, here is how we do stealth. I'm just going to give you the basics, because you should figure out the methodology that works best for you.

      All monsters have two versions: lookout monsters, and combat monsters. Every map is populated with only lookout monsters when the player first enters. The lookouts look and act just like normal combat monsters, but they are all ranged attackers with event heavy weapons with which they cannot possibly hit the player. The lookout's job is to patrol or do whatever, and then fire its missile weapon at the player when the player comes within range.

      This missile weapon doesn't create a projectile or cause damage, or even ever hit. All it does is make the lookout monster go through it ranged attack animation, which looks like the monster is looking around and scratching its head. While it does this, the game is checking to see if the player is in sneak mode. If he is, the monster continues looking and scratching his head, perhaps even walking toward where the player is hiding, until the player leaves its LOS, or until the events in the animation have clicked off enough "hits" to conquer the stealth or invisibility and then cancel the player's sneak mode.

      If the player is not sneaking, or if his stealth has been conquered by the event sequences in the lookout's animation, the lookout immediately deletes itself and places a combat monster in its place (in our game it's several combat monsters), then things go as expected.

      Finally, there is a way to make a stationary player invisible even in the middle of combat, causing monsters in the area, even attacking ones, to leave him alone: the Hide skill, when the button is pushed, teleports the player to the corner of the map and leaves in his place a camera locking stamp that looks like the hero crouched in hiding.

      Yeah, that's the basics of our stealth system. Everyone is free to use it and modify it and whatever. Understand were still testing it, but there should be a working version of it in our prelude demo thingy, which should be out in a week.

      I have to say ellrx's idea with the camera is pretty ingenious too.

      edit: props/spelling
      edit2: ??

      ------------------
      (url="http://"http://home.earthlink.net/~isthaq/darktides")Dark Tides: Renegade Heroes(/url)

      (This message has been edited by myshkyn (edited 12-08-2003).)

      (This message has been edited by myshkyn (edited 12-08-2003).)

    • Thanks for all the help 🙂 I'll just bookmark this thread to check it out later 😉 that stealth thing sounds pretty complicated though.. :redface: well, I'll try...

      ------------------
      (url="http://"http://www.ledorax.da.ru")Ledorax Land(/url)
      (url="http://"mailto:ledorax@spymac.com")mailto:ledorax@spymac.com(/url)ledorax@spymac.com

    • well , it realy seems quite simple just make a spell targeting wich ever player and in statistic modifiers put Moral:-6 and 6 should be subtracted from there moral

      ------------------
      "Why, Mr. Anderson? Why do you do it? Why get up? Why keep fighting? Do you believe you're fighting for something? For more that your survival? Can you tell me what it is? Do you even know Is it freedom? Or truth? Perhaps peace? Yes? No? Could it be for love? Illusions, Mr. Anderson, vagaries of perception The temporary abstracts of a feeble human intellect trying desperately to justify an existence that is without meaning or purpose. And all of them as artificial as the Matrix itself although only a human mind could invent something as insipid as love. You must be able to see it, Mr. Anderson. You must know it by now. You can't win. It's pointless to keep fighting. Why, Mr. Anderson? Why? Why do you persist?"

    • Quote

      Originally posted by Yeroc:
      **well , it realy seems quite simple just make a spell targeting wich ever player and in statistic modifiers put Moral:-6 and 6 should be subtracted from there moral

      **

      There is no "moral" field in the statistic modifiers secton of the spell wizard...

      ------------------
      (url="http://"http://www.ledorax.da.ru")Ledorax Land(/url)
      (url="http://"mailto:ledorax@spymac.com")mailto:ledorax@spymac.com(/url)ledorax@spymac.com

    • Morale, as it relates is the will ingness to continue to fight...
      i'm uncertain if there is a similar statistic described in the manual.

      if there is not the closest thing to this is the aggressvie caster, which will run away after depleting its magic points.

      keep in mind that spells needn't have a long range, and that animations can have an offset.

      so give the npc an animation with range of 0,1,2.
      make frames of the range/cast animation appear to step forward, if the collision is set to follow then the npc will appear to step up and deliver a close range attack.

      forcing the npc to deplete its magic points is another matter, when you cast the scare spell, have it affect the value of a global, in the npc's spell book give them spells that can only be cast if the global is 0, this means when you increment the global they cannot use those spells and are forced to use the spell that will deplete their magic points.

      Additionally this could cause them to have various levels of fear , ie spells that only work when the scare level is below a certain mark, effectively they could have entire strategies, you are essentially extending the AI when you do this, this can be applied to anything. It is my understanding that the npc's do not plan the attacks based on what inventory you are wielding, for example when you wield the legendary sword, weaker enemies will avoid you, and stronger enemies will attack with their best weapons.

      do keep this in mind.

      random: most of the methods i discuss should only be bothered with if its is to play an integral part in the gameplay of your game.

      ------------------

      ... bwahhaaaaahaaaaaugh fooooolish sammurai.