Pet naming and other critter improvements
Jul 6, 2013 21:19:34 GMT
Zaroque, eighty nine, and 2 more like this
Post by Mink on Jul 6, 2013 21:19:34 GMT
I've decided to suggest a variety of improvements to the pets system.
I really want to give my little howler (who is haunted, by the way) a name and gender. There would be a naming command:
/petname name/reset
And a gender command:
/petgender male/female/reset
Alternative gender command:
/petsex male/female/reset
Resetting it would, obviously, reset it to default. When a gender is chosen, the symbol for it will show up next to the pet's name when targeting it (both in its health bar and in the action options circle thingy). Additionally, the pet's name and gender would show up in a name tag underneath it. This can be turned on or off in the settings menu, and disappears with the other name tags when pressing Tab twice. The name tags would help prevent people from mistaking a pet for a wild animal (which happened to me and my druid cat on SoE).
Petting animations and sounds: This would be like if I petted my howler, instead of her doing her attack animation, she would get this cute look like she's actually being petted, and she would make a cute noise like fennec foxes do in real life (but more ghostly--after all, she is a howler). Though, the animations (pet1, pet2, etc.) can only be done if you guys have access to the blender files. But I wouldn't mind my howler flipping and making cute sounds at the same time.
Critter material lists: Surely not all the critters of a specific type all look the same! So, in, say, a husky's coding, it should read:
material=BlackHuskyMat,1,RedHuskyMat,1,BrownHuskyMat,1,GreyHuskyMat,1,AlbinoHuskyMat,0.25
According to that, the husky would have an equal chance of being any of each material listed except albino, which is a quarter as common as any other given color. In the server, it would not only track the husky's movements, health, current target, taming status, etc., but also its material--1 if it's black, 2 if it's red, 3 if it's brown, 4 if it's grey, and 5 if it's albino. This would carry over should you tame the husky, so if you tamed a red husky it would remain red, and if you tamed an albino husky, it would remain albino.
Commanding your pet: Too lazy to get off your bum and attack that hare? Send your pet to do it for you. When clicking on a critter, there would be an option other than simply attack: "Send (pet's name, name of pet's species if it has none) to attack" (for example, if my pet is named Myst, it would say "Send Myst to attack"). Your pet would then attack the critter in its usual attack pattern (unless leveled up, I'll get to that in a bit) and, once it kills the critter, you won't get any of the skills it drops, but your pet will bring you any item drops, and it would still count for quests. You would not, however, be able to tame this way, as your pet won't stop attacking until either its target is dead, your pet is wounded, or you go to a different map or dimension. Pets who can heal themselves will do so when they need to.
There is the issue of people stealing the item your pet has. This can be avoided by having the pet hold the item until you tell him/her to drop it.
You could also put an item on the pet (in inventory, there would be a third option, "give to (pet's name)"), and then either keep it on your pet for looks (he or she won't pick up another item if he/she already has one), or send the item to another player when selecting them ("Have (pet's name) give (item's name) to (player)", i.e. "Have Myst give Fangs to WhiteWolf"). When you do this, the pet runs over to the player, who then sees a window pop up: "(pet's name), owned by (owner's name), is offering you (item's name). Accept?" If the recipient clicks yes, the item is placed in their stash and the pet returns to its owner. If they click "no", leave the map, log out, or crash, the pet returns to its owner with the item.
[/span]What would a pet look like with the item? The item would be placed on a specific bone in a particular location and rotation on the pet according to the pet's mesh (most likely in its mouth), taking size and shrink status into consideration. There could also be an optional "proud" animation, which is an idle animation that they only do when holding an item. It could just be an occasional thing, too, like your character glancing around while its head is frozen.
Leveling up: Each time your pet kills something, he or she gets a number of experience points based on what the prey is compared to what kind of pet it is (if a hare killed a monster ray, he or she would get a ton of XP, but if a monster ray killed a hare, nothing would be gained). Then, in a new menu called "pet stats" (you get to this by selecting it on a pet's options menu), you can see how much XP the pet has and then increase its attack power, attack frequency, healing power (if the pet can heal), speed, and other stats. This could also be implemented for players, maybe. These could also be bought from a wandering merchant, more on that idea later.
Head targeting: This can only be added to critters that don't move their heads while idle, and which you have blender files for. A critter, even a pet, would look around at other players and critters (briefly at those its owners target), occasionally letting out a "bark" (in the critter file of, say, a WhiteWolf prey: "friendlybark=WWbark1.mp3,WWbark2.mp3") when the owner targets someone on their friends list (or sometimes the pet of someone on their friends list). Also, if you target a blocked user's pet, your pet will let out an angry "growl" ("angrybark=WWgrowl1.mp3,WWgrowl2.mp3"). Pets and wild animals will also growl when chasing down their targets. They would probably also have a "bark" animation that folds over the other animations (like the secondary actions), it would just be them flicking their heads up and opening their mouth briefly--like a real-life bark.
More animations: Is your cat trying to catch that bug? It should try swatting it, or leaping up and clapping its paws around it, not just waiting for it to come down and then use those silly little attack animations. Situation-specific attack animations would be perfect for sending your pet out to hunt. It would also be perfect for another suggestion which I will get to in a bit. As well as attack animations, it would make sense for an eagle to land once in a while, and it would have an additional animation set for that specifically. This would also make perfect sense for chickens, which actually can fly--they just don't do it very often. Also, let's say I'm in a dance line. My howler never joins in! It would make sense for there to be a complex equation for my howler to figure out that I'm in a dance line, and then play her own dancing animation (either equivalent to mine, or the most common one in the dance line if she decides to dance on her own). If there is no dance line, she could occasionally sit or lay, get up if sitting or laying, look at her paw, flick her tail, flick her ears, bark at a passing friend, tilt her head, look proud with her items, glance at me, yawn, stretch, fall asleep if idle for too long...you get the idea.
Another thing that would be nice is pets and other prey having fighting stances. They get into one once they have a target, and remain in one a full minute after the target is dead, wounded, or otherwise un-attackable. For tamed pets, it would only last a few seconds unless its owner is also in a stance.
Another thing that could be implemented is wandering, unless I tell my pet to stay (and a separate "stay" animation would be nice). My pet would wander the area around me, and basically do all the stuff it would do while idle.
Anyway...critter interactions: It would be cool if wild animals could interact. To avoid clutter in the critter file, critters would be put into categories. For hares, this would look something like this: "types=rabbit,prey,smallishprey,hauntable", and for a howler, it would be "types=fox,predator,smallishpredator,ghost".
Then, in the hare's file, there would be this: "preyof=fox,cat,predator". It would run from anything categorized as a fox or a predator. Notice that it doesn't prey on anything. Also notice that ghost isn't considered a predator, there's a reason for that.
In the howler's file: "preyson=smallprey,smallishprey,rabbit,groundinsect". It will attack anything in those categories. For a non-healing critter, killing another animal will restore some health from fights and such. Since the howler can heal itself, it will instead just attack for fun. If it attacks a hare, the hare won't recognize its type, and will flee when attacked, making a frightened sound ("scaredsound=scaredhare.mp3"). The howler will stop attacking once the hare is out of range, and proceed to let out an amused noise ("lolsound=happyghost.mp3"). If a predator kills its prey, it will pick up its item (yes, even if it's a wild animal) and let out its victory sound ("victorysound=victoryhowl.mp3") while playing its victory animation.
Interaction between two critters of the same species would be friendly, unless otherwise stated. This would include play-fighting and tag. However, you must put this in: "social=true". You can also add in allied categories of critters: "alliedtypes=ghost" for howlers and other ghosts. You can also put in enemies: "enemies=dog,f,player,t". The "t" and "f" are short for "true" (will kill) and "false" (won't kill). Not killing is for simple territory violations, but it can still kill if the target's health is too low. When killing, it won't stop attacking. This is different from hunting because in hunting, unless it can heal itself, it only attacks when it needs to do so.
Additionally, a critter can be set to solitary and will attack (and possibly kill) others of its species: "solitary=true,true" to attack and kill, "solitary=true,false" if you don't want it to kill. Default is false.
Additionally, a critter can be set to have all of the same species in range come help it when it's attacked, like when you attack a wolf or a zombie pigman in Minecraft. There can also be a set maximum number of critters "helping".
Official NPC packs: These would be very different from normal prey. They would be considered players by the server, which would also control them (possibly with a secondary server dedicated to that sort of thing). They would be groups of NPCs that have complex scripts that make them seem real. They would have far more animations than any other NPCs, and would behave more-or-less like players by roleplaying, chatting, hunting for items, and even taming pets. An individual will also go on quests and use the shops if he or she decides to do so and has reached a map where quests are available, though they won't go to Default or Bazaar if the individual hates players (which could happen over time if he or she gets attacked a lot).
They would live in a map that would be considered their territory, and they will be neutral to each player at first. Attacking one will lower your reputation with them, especially if it's one of their young. Once you kill one of them without apparent provocation, they will attack you on sight. Reputation will be character-bound, rather than user-bound. The NPCs won't attack you outside of their main territory. They will hunt you down if you leave the map while they are attacking you. They will only stop once they have wounded you. They can also target a pet that has been commanded to attack them, as the pet's reputation will be lowered.
They would behave like normal packs, but sped up about 4x (they age one "year" every season). They would have babies, while older members of the pack grow old and die. They would have names, coming from a list. The names can have two parts; if a wolf happens to be named Moon Moon, he will automatically be male and have a hilarious script based off of the Moon Moon internet meme. No two NPCs in the same pack can share a name. If an alpha dies, the other retires and a younger one pairs up with a "loner" (an adult the same age as the new alpha who is created by the server, much like the babies). NPCs will also have different scripts and dialogue based off of their personality.
Since they are basically server-controlled players, the NPCs only die if you attack them once they're down (wounded, like a normal player). One can heal a wounded (or otherwise low-health) NPC with cures, this increases your reputation with the pack, and may make the individual like you even if they hate players in general.
Of course, this all can be done for things besides wolves--I'm willing to provide some pack ideas if you consider this one doozy of a suggestion.
Lastly, that wandering NPC I mentioned. He would be considered a player, and would have his own script and adventures. He would wander around all the maps (but only be in one at a time, he would get to other maps via portals), and he would have his own set of quests (which would require you to return to him, rather than just collect the reward on the spot, I think it would make a lot more sense). He would never buy anything from the NPCs or accept their quests, and he would hunt for all his stuff. ;He would have his own inventory and stash, and he would be able to tame pets, and make them stay or command them to attack other prey. Everything he has would be first-come, first-serve. To avoid conflicts, he won't let two people take on the same quest, and will only have a quest available if he has the items, taking into consideration whether others have taken quests from him. He would wander from map to map to keep too many people from coming at him at once, and he would have things to say, I can elaborate if this idea is used. If you kill his prey that he's taming, though, he will say, "I was trying to tame that! You must die now.", and then he will attack you. And do damage. And chase you into other maps. Don't kill his prey, okay?
What do you guys think? I know it's a little much, but hey, it'd be cool.
I really want to give my little howler (who is haunted, by the way) a name and gender. There would be a naming command:
/petname name/reset
And a gender command:
/petgender male/female/reset
Alternative gender command:
/petsex male/female/reset
Resetting it would, obviously, reset it to default. When a gender is chosen, the symbol for it will show up next to the pet's name when targeting it (both in its health bar and in the action options circle thingy). Additionally, the pet's name and gender would show up in a name tag underneath it. This can be turned on or off in the settings menu, and disappears with the other name tags when pressing Tab twice. The name tags would help prevent people from mistaking a pet for a wild animal (which happened to me and my druid cat on SoE).
Petting animations and sounds: This would be like if I petted my howler, instead of her doing her attack animation, she would get this cute look like she's actually being petted, and she would make a cute noise like fennec foxes do in real life (but more ghostly--after all, she is a howler). Though, the animations (pet1, pet2, etc.) can only be done if you guys have access to the blender files. But I wouldn't mind my howler flipping and making cute sounds at the same time.
Critter material lists: Surely not all the critters of a specific type all look the same! So, in, say, a husky's coding, it should read:
material=BlackHuskyMat,1,RedHuskyMat,1,BrownHuskyMat,1,GreyHuskyMat,1,AlbinoHuskyMat,0.25
According to that, the husky would have an equal chance of being any of each material listed except albino, which is a quarter as common as any other given color. In the server, it would not only track the husky's movements, health, current target, taming status, etc., but also its material--1 if it's black, 2 if it's red, 3 if it's brown, 4 if it's grey, and 5 if it's albino. This would carry over should you tame the husky, so if you tamed a red husky it would remain red, and if you tamed an albino husky, it would remain albino.
Commanding your pet: Too lazy to get off your bum and attack that hare? Send your pet to do it for you. When clicking on a critter, there would be an option other than simply attack: "Send (pet's name, name of pet's species if it has none) to attack" (for example, if my pet is named Myst, it would say "Send Myst to attack"). Your pet would then attack the critter in its usual attack pattern (unless leveled up, I'll get to that in a bit) and, once it kills the critter, you won't get any of the skills it drops, but your pet will bring you any item drops, and it would still count for quests. You would not, however, be able to tame this way, as your pet won't stop attacking until either its target is dead, your pet is wounded, or you go to a different map or dimension. Pets who can heal themselves will do so when they need to.
There is the issue of people stealing the item your pet has. This can be avoided by having the pet hold the item until you tell him/her to drop it.
You could also put an item on the pet (in inventory, there would be a third option, "give to (pet's name)"), and then either keep it on your pet for looks (he or she won't pick up another item if he/she already has one), or send the item to another player when selecting them ("Have (pet's name) give (item's name) to (player)", i.e. "Have Myst give Fangs to WhiteWolf"). When you do this, the pet runs over to the player, who then sees a window pop up: "(pet's name), owned by (owner's name), is offering you (item's name). Accept?" If the recipient clicks yes, the item is placed in their stash and the pet returns to its owner. If they click "no", leave the map, log out, or crash, the pet returns to its owner with the item.
[/span]What would a pet look like with the item? The item would be placed on a specific bone in a particular location and rotation on the pet according to the pet's mesh (most likely in its mouth), taking size and shrink status into consideration. There could also be an optional "proud" animation, which is an idle animation that they only do when holding an item. It could just be an occasional thing, too, like your character glancing around while its head is frozen.
Leveling up: Each time your pet kills something, he or she gets a number of experience points based on what the prey is compared to what kind of pet it is (if a hare killed a monster ray, he or she would get a ton of XP, but if a monster ray killed a hare, nothing would be gained). Then, in a new menu called "pet stats" (you get to this by selecting it on a pet's options menu), you can see how much XP the pet has and then increase its attack power, attack frequency, healing power (if the pet can heal), speed, and other stats. This could also be implemented for players, maybe. These could also be bought from a wandering merchant, more on that idea later.
Head targeting: This can only be added to critters that don't move their heads while idle, and which you have blender files for. A critter, even a pet, would look around at other players and critters (briefly at those its owners target), occasionally letting out a "bark" (in the critter file of, say, a WhiteWolf prey: "friendlybark=WWbark1.mp3,WWbark2.mp3") when the owner targets someone on their friends list (or sometimes the pet of someone on their friends list). Also, if you target a blocked user's pet, your pet will let out an angry "growl" ("angrybark=WWgrowl1.mp3,WWgrowl2.mp3"). Pets and wild animals will also growl when chasing down their targets. They would probably also have a "bark" animation that folds over the other animations (like the secondary actions), it would just be them flicking their heads up and opening their mouth briefly--like a real-life bark.
More animations: Is your cat trying to catch that bug? It should try swatting it, or leaping up and clapping its paws around it, not just waiting for it to come down and then use those silly little attack animations. Situation-specific attack animations would be perfect for sending your pet out to hunt. It would also be perfect for another suggestion which I will get to in a bit. As well as attack animations, it would make sense for an eagle to land once in a while, and it would have an additional animation set for that specifically. This would also make perfect sense for chickens, which actually can fly--they just don't do it very often. Also, let's say I'm in a dance line. My howler never joins in! It would make sense for there to be a complex equation for my howler to figure out that I'm in a dance line, and then play her own dancing animation (either equivalent to mine, or the most common one in the dance line if she decides to dance on her own). If there is no dance line, she could occasionally sit or lay, get up if sitting or laying, look at her paw, flick her tail, flick her ears, bark at a passing friend, tilt her head, look proud with her items, glance at me, yawn, stretch, fall asleep if idle for too long...you get the idea.
Another thing that would be nice is pets and other prey having fighting stances. They get into one once they have a target, and remain in one a full minute after the target is dead, wounded, or otherwise un-attackable. For tamed pets, it would only last a few seconds unless its owner is also in a stance.
Another thing that could be implemented is wandering, unless I tell my pet to stay (and a separate "stay" animation would be nice). My pet would wander the area around me, and basically do all the stuff it would do while idle.
Anyway...critter interactions: It would be cool if wild animals could interact. To avoid clutter in the critter file, critters would be put into categories. For hares, this would look something like this: "types=rabbit,prey,smallishprey,hauntable", and for a howler, it would be "types=fox,predator,smallishpredator,ghost".
Then, in the hare's file, there would be this: "preyof=fox,cat,predator". It would run from anything categorized as a fox or a predator. Notice that it doesn't prey on anything. Also notice that ghost isn't considered a predator, there's a reason for that.
In the howler's file: "preyson=smallprey,smallishprey,rabbit,groundinsect". It will attack anything in those categories. For a non-healing critter, killing another animal will restore some health from fights and such. Since the howler can heal itself, it will instead just attack for fun. If it attacks a hare, the hare won't recognize its type, and will flee when attacked, making a frightened sound ("scaredsound=scaredhare.mp3"). The howler will stop attacking once the hare is out of range, and proceed to let out an amused noise ("lolsound=happyghost.mp3"). If a predator kills its prey, it will pick up its item (yes, even if it's a wild animal) and let out its victory sound ("victorysound=victoryhowl.mp3") while playing its victory animation.
Interaction between two critters of the same species would be friendly, unless otherwise stated. This would include play-fighting and tag. However, you must put this in: "social=true". You can also add in allied categories of critters: "alliedtypes=ghost" for howlers and other ghosts. You can also put in enemies: "enemies=dog,f,player,t". The "t" and "f" are short for "true" (will kill) and "false" (won't kill). Not killing is for simple territory violations, but it can still kill if the target's health is too low. When killing, it won't stop attacking. This is different from hunting because in hunting, unless it can heal itself, it only attacks when it needs to do so.
Additionally, a critter can be set to solitary and will attack (and possibly kill) others of its species: "solitary=true,true" to attack and kill, "solitary=true,false" if you don't want it to kill. Default is false.
Additionally, a critter can be set to have all of the same species in range come help it when it's attacked, like when you attack a wolf or a zombie pigman in Minecraft. There can also be a set maximum number of critters "helping".
Official NPC packs: These would be very different from normal prey. They would be considered players by the server, which would also control them (possibly with a secondary server dedicated to that sort of thing). They would be groups of NPCs that have complex scripts that make them seem real. They would have far more animations than any other NPCs, and would behave more-or-less like players by roleplaying, chatting, hunting for items, and even taming pets. An individual will also go on quests and use the shops if he or she decides to do so and has reached a map where quests are available, though they won't go to Default or Bazaar if the individual hates players (which could happen over time if he or she gets attacked a lot).
They would live in a map that would be considered their territory, and they will be neutral to each player at first. Attacking one will lower your reputation with them, especially if it's one of their young. Once you kill one of them without apparent provocation, they will attack you on sight. Reputation will be character-bound, rather than user-bound. The NPCs won't attack you outside of their main territory. They will hunt you down if you leave the map while they are attacking you. They will only stop once they have wounded you. They can also target a pet that has been commanded to attack them, as the pet's reputation will be lowered.
They would behave like normal packs, but sped up about 4x (they age one "year" every season). They would have babies, while older members of the pack grow old and die. They would have names, coming from a list. The names can have two parts; if a wolf happens to be named Moon Moon, he will automatically be male and have a hilarious script based off of the Moon Moon internet meme. No two NPCs in the same pack can share a name. If an alpha dies, the other retires and a younger one pairs up with a "loner" (an adult the same age as the new alpha who is created by the server, much like the babies). NPCs will also have different scripts and dialogue based off of their personality.
Since they are basically server-controlled players, the NPCs only die if you attack them once they're down (wounded, like a normal player). One can heal a wounded (or otherwise low-health) NPC with cures, this increases your reputation with the pack, and may make the individual like you even if they hate players in general.
Of course, this all can be done for things besides wolves--I'm willing to provide some pack ideas if you consider this one doozy of a suggestion.
Lastly, that wandering NPC I mentioned. He would be considered a player, and would have his own script and adventures. He would wander around all the maps (but only be in one at a time, he would get to other maps via portals), and he would have his own set of quests (which would require you to return to him, rather than just collect the reward on the spot, I think it would make a lot more sense). He would never buy anything from the NPCs or accept their quests, and he would hunt for all his stuff. ;He would have his own inventory and stash, and he would be able to tame pets, and make them stay or command them to attack other prey. Everything he has would be first-come, first-serve. To avoid conflicts, he won't let two people take on the same quest, and will only have a quest available if he has the items, taking into consideration whether others have taken quests from him. He would wander from map to map to keep too many people from coming at him at once, and he would have things to say, I can elaborate if this idea is used. If you kill his prey that he's taming, though, he will say, "I was trying to tame that! You must die now.", and then he will attack you. And do damage. And chase you into other maps. Don't kill his prey, okay?
What do you guys think? I know it's a little much, but hey, it'd be cool.