How To Make Mafia Themes (v2.0)

Discussion in 'Mafia' started by Hobbes2, Oct 30, 2011.

Thread Status:
Not open for further replies.
Moderators: Pamitha, Water
  1. IceKirby

    IceKirby A.K.A. RiceKirby

    Joined:
    Apr 26, 2011
    Messages:
    2,176
    Likes Received:
    635
    PO Trainer Name:
    RiceKirby
    Totally not. Alert is more like Dummy Messages (except for the Team Messages and ~Command~, which are not hard to add).
    And how is Mass Convert related to globalFailChance at all? globalFailChance would be about having FailChance separated for each person you target instead of each command you use (currently, if you use an action with Fail Chance on 3 players, either all of them fail or all of them work normally).

    That said, alert can be simply made by expanding Dummy Messages, but globalFailChance would be a bit trickier to code :x
     
  2. Roild

    Roild Member

    Joined:
    Jul 21, 2012
    Messages:
    861
    Likes Received:
    11
    PO Trainer Name:
    Roild
    Oh, I see the use of the fail chance separation. As for alert, multiple dummy things... idk. Can also be done with slowest distract message which would do that.
     
  3. Kurapika

    Kurapika Born to be a Troll

    Joined:
    Aug 4, 2012
    Messages:
    242
    Likes Received:
    2
    Yeah, the slowest distract message can do that, but it has to be slow or give everyone a mode to ignore that distract which is very unpractical. >.< an alert feature would allow that without having to go by all that trouble. And being able to extend that alert to all the players in the game or to the command's user's team would allow the creation of some tricky roles.
     
  4. Fuzzysqurl

    Fuzzysqurl baa baa mareep I do what I want Server Owner Developer I do what I want Server Owner Developer

    Joined:
    Sep 12, 2012
    Messages:
    2,096
    Likes Received:
    967
    Well, I coded a new feature, so I guess that means I have to tell you guys about it (Please note at the time of writing, the feature is NOT live and cannot be used just yet.)


    bypass: It's a modifier for night actions that allows the user to bypass predefined modes.
    The code below will make a role that can kill their target even if they have an evadeChance or ignore kills completely.
    Code (text):
    1. {        "role": "vigilante",
    2.         "translation": "Sniper",
    3.         "side": "village",
    4.         "help": "Type /snipe [name] to kill someone! Your flawless aim and armor piercing rounds allow you to kill someone even if they would normally ignore or evade other kills!",
    5.         "actions": {
    6.             "night": {
    7.                 "snipe": {
    8.                     "command": "kill",
    9.                     "target": "AnyButSelf",
    10.                     "common": "Self",
    11.                     "priority": 1,
    12.                     "bypass": ["evadeChance", "ignore"]
    13.                 }
    14.             }
    15.         }
    16.     }
    Bypass is required to be an array, even if it only has one entry. Valid entries inside the array are every mode you can run on a role (all case sensitive): ignore, ChangeTarget, killattacker, poisonattacker, identify, die, evadeCharges, evadeChance, killif, resistance

    As such, you're able to set up a role that can bypass evade charges, but if it misses, it has no effect (Flavor example: Rocket Launcher being used on a role using evadeCharges to simulate a bulletproof. If the rocket hits, it kills.) You can also use this to make a PL that can distract all Werewolves without dying, the easy and quick way. All other restrictions will still take effect (ex: if you get distracted, you aren't able to bypass anything unless you already ignore distracts. If your target is protected, the protect will prevent death unless Pierce is true)

    Note: killattacker and poisonattacker will both bypass their respective "evenifprotected" as well.
     
    Last edited: Dec 21, 2013
  5. Kurapika

    Kurapika Born to be a Troll

    Joined:
    Aug 4, 2012
    Messages:
    242
    Likes Received:
    2
    The "byPass" feature is fucking genius, bravo!
    May I suggest a "votemsg" feature for roles, it would overwrite "lynchmsg".
    Also, how about a "voteCount" feature for the "lynch" mode? This mode won't trigger unless if the ~Count~ of votes is higher than or equal to "voteCount" the default value would be 0 or -1...
     
  6. IceKirby

    IceKirby A.K.A. RiceKirby

    Joined:
    Apr 26, 2011
    Messages:
    2,176
    Likes Received:
    635
    PO Trainer Name:
    RiceKirby
    If the idea is to override lynchmsg, why not name it lynchmsg too?

    It's interesting, but there are lots of effects that can be triggered under lynch mode (convertTo, convertRoles, killRoles, exposeRoles, killVoters, etc), so maybe having each of those effects with their own count would be better. Also, it could be an array to define a range, so [3, 6] would mean "Effect only triggers if votes are higher than 3 and lower than 6", making it possible to have both effects with a maximum or a minimum number of votes required.
     
  7. Kurapika

    Kurapika Born to be a Troll

    Joined:
    Aug 4, 2012
    Messages:
    242
    Likes Received:
    2
    "lynchmsg" or "votemsg" both work, I just said the later cuz it would be easily associated to "vote" and "voteshield".
    Both your suggestions for the "voteCount" feature are great!!
     
  8. Sophie-Chan

    Sophie-Chan New Member

    Joined:
    Dec 31, 2013
    Messages:
    1
    Likes Received:
    0
    thanks for the guide
     
  9. Scatterbrain

    Scatterbrain You only live once*

    Joined:
    Jul 5, 2012
    Messages:
    865
    Likes Received:
    4
    Elaborating on Kurapika's idea, you could have a string hold a minimum value, and another string hold a maximum value, and possibly a string/object to hold an exclusion value (meaning a votecount on the role in question that nullifies the effect).
    Code (text):
    1.  
    2. {
    3.     "role": "villager",
    4.     "translation": "Private",
    5.     "side": "village",
    6.     "help": "The village desperately needs more power in numbers, thus why the Recruiter hired you! However, you have no actions during the night. Your vote is your weapon. If the vote count on you is anywhere from five to eleven, but not eight votes, you will convert into a Treasonist.",
    7.     "info": "Converts to Berserk Soldier when lynched. Wins the game with any side, excluding The Heroes. Sided with The Kingdom of Daein.",
    8.     "actions": {
    9.         "lynch": {
    10.             "minVoteCount": 5,
    11.             "maxVoteCount": 11,
    12.             "excludedVoteCount": 8,
    13.             "convertTo": "treasonist",
    14.             "convertmsg": "The newly recruited Private is furious upon his execution! He promptly survives his hanging and becomes a Treasonist!"
    15.         }
    16.     }
    17. }
    18.  
    In this code above, it takes anywhere from 5-11 votes to activate the effect, but if 8 votes are registered, the effect is null (it won't happen.)
    Of course, the first three strings would be optional.

    And yes it is valid JSON unlike last time c ;
     
  10. Yttrium

    Yttrium Well-Known Member Developer Developer

    Joined:
    Sep 29, 2010
    Messages:
    619
    Likes Received:
    283
    PO Trainer Name:
    Yttrium
    If anything, excludedVoteCount should be an array so you can exclude multiple numbers. (this way you could do something like 1-5 votes or 15-20 votes {x|1<x<5 or 15<x<20} if you understand it written like this better)

    And if you really want, only odd numbers or only even numbers.

    (assuming I am understanding what's going on)
     
  11. Scatterbrain

    Scatterbrain You only live once*

    Joined:
    Jul 5, 2012
    Messages:
    865
    Likes Received:
    4
    You're on the right track. It would be nice to have it as a string as well just in case you need just one number excluded (you can put another one like 7.8372038328 there and not say anything in the help or info message in order for this to work, if it must need at least 2 values for the array.

    Idk why I said object, lol.
     
  12. IceKirby

    IceKirby A.K.A. RiceKirby

    Joined:
    Apr 26, 2011
    Messages:
    2,176
    Likes Received:
    635
    PO Trainer Name:
    RiceKirby
    String = text ("value": "Hello World" is a string, "value": 5.6 is a number).
    And I still think everything should be an array. Instead of having a minVoteCount and maxVoteCount, could just have [2, 30] for votes between 2 and 30, or [2, "*"] if you want any value above 2. Same thing for excludeVoteCount, although I think that one is quite useless.
     
  13. Shazan

    Shazan Obey to Kyubey

    Joined:
    Jan 21, 2013
    Messages:
    591
    Likes Received:
    14
    PO Trainer Name:
    Obey to Kyubey
    I have a question about shield, practically on our theme Animal we have a role called Spider, this role converts any role that attacks him or a target shielded by him into an entangled animal.
    Now to get to the point: i want that spider's shield doesn't send any message to the animals that attack his shielded target, so to make it hard for them to understand if they attacked spider or his target. The point is: if i write simply "shieldmsg": "", there will be no message or they will receive a message with no text like <±info: > ?
     
  14. IceKirby

    IceKirby A.K.A. RiceKirby

    Joined:
    Apr 26, 2011
    Messages:
    2,176
    Likes Received:
    635
    PO Trainer Name:
    RiceKirby
    They will receive a "±Game: " with no text after that.
     
  15. Angel Flonne

    Angel Flonne macaron

    Joined:
    Jan 24, 2013
    Messages:
    509
    Likes Received:
    3
    PO Trainer Name:
    Angel Flonne
    I have a solution. How about let both the copy message and the shield message be, "Argh! You got caught in a web!"
     
  16. Shazan

    Shazan Obey to Kyubey

    Joined:
    Jan 21, 2013
    Messages:
    591
    Likes Received:
    14
    PO Trainer Name:
    Obey to Kyubey
    The copy message is silent because it is used to copy even the not-bomb roles, the 2 messages used are that of ignore dummy3 message and the shield message.
    Anyway, even if we would make as you say angel, this will mean that whoever attacks the shielded target it will receive the: "Argh! You got caught in a web!" message 2 time instead, revealing that his target is not spider and will even look like a bug that repeat twice the same message.
    Probably i will transorm the shield message into a pun related to web and spiders to make it more difficult for them to understand that it is a shield message, another possible solution that i am thinking is to use the new features bypass and multiple dummy to modify how the bomb messages works but this second option is pretty long and i am not certain if it will works so hurry for the jokes
     
    Last edited: Jan 5, 2014
  17. Angel Flonne

    Angel Flonne macaron

    Joined:
    Jan 24, 2013
    Messages:
    509
    Likes Received:
    3
    PO Trainer Name:
    Angel Flonne
    Eh, that sounds fine I guess. It looks quite complicated but whatever.
     
  18. Kurapika

    Kurapika Born to be a Troll

    Joined:
    Aug 4, 2012
    Messages:
    242
    Likes Received:
    2
    I suggest a "exceptions" feature for /safeguard, it's an array for commands that ignore safeguard. But "pierce" does that... what I really wanna suggest is a "magnet" command that redirects all the other slower commands used at night to magnet's target(s), this command would need some special attributs such as:
    > "Exception" (see above)
    > "Magnetmsg", its default value would be "Your ~Action~ was redirected to ~Player~"
    > "SilentMagnet", when set to True it will disable the "Magnetmsg"
    > Maybe a "RedirectFromTargetToSelf" feature, when set to True it will redirect the target's commands to the user instead of redirecting all players' commands to the target.
    This magnet suggestion is inspired from a mafia game I played once in #RTM.
     
  19. Fuzzysqurl

    Fuzzysqurl baa baa mareep I do what I want Server Owner Developer I do what I want Server Owner Developer

    Joined:
    Sep 12, 2012
    Messages:
    2,096
    Likes Received:
    967
    It will now be silent if you use "shieldmsg": "",
    Adding that in this next update
    http://pokemon-online.eu/forums/showthread.php?24039-Mafia-Theme-Message-Guide&p=346943#post346943


    Also, since I need to notify of new stuff:
    noplur: Boolean to determine if lynch phase should end if over 50% of players alive voted for a particular target, discounting all voting powers and voteshields.
    Code (text):
    1. "minplayers": 4,
    2. "noplur": true,
    3.  "summary": "Vanilla Mafia!"
    I think I made a mistake while adding this and forgot the second part of the functionality, making it so "no lynch" occurs if no majority is reached. Look forward to a fix soon, I was just excited I got it working that I forgot to thoroughly test it.

    night1: A new "ticks" value that extends or shortens night 1. By default, 10 seconds are added (so if you wish to have equal phases regardless, just set night1 to 10 less than night)
    Code (text):
    1. [COLOR=#000000] "ticks": {[/COLOR]
    2.         "standby": 45,      "night": 20,        "night1": 60    },

    revealTarget: A new type of hax that states "X is being targeted by a kill!" (or whatever you set it up for)
    Code (text):
    1. "hax": {
    2.                     "kill": {
    3.                         "revealTarget": 1
    4.                     }
    5.                 }
     
  20. Scatterbrain

    Scatterbrain You only live once*

    Joined:
    Jul 5, 2012
    Messages:
    865
    Likes Received:
    4
    Possible bug related to silentCopy boolean on copy commands.

    Log:
    (03:49:43) ***************************************************************************************
    (03:49:43) ±Game: Matt Ayala started a game with theme Ember!
    (03:49:43) ±Game: Type /Join to enter the game!
    (03:49:43) ***************************************************************************************

    (03:49:44) ±Game: In Mt. Ember, there are some conflicts that reside within the mountain. Join the epic struggle as the Village (Arcanine, Charizard, Vulpix/Ninetales, Blaziken, Houndoom, and Magmars) try to take down top-tier threats like the Geodude Army, Steelix's Posse, Volcanion and Heatran! Type /changelog to see recent edits!
    (03:49:44) ±Game: Matt Ayala joined the game!
    (03:49:44) best: someone do a kirby theme
    (03:49:46) TraceOfLife: n2 lol
    (03:49:47) ±Game: Six Scizor Sweep joined the game!
    (03:49:48) Chiyuri: have to listen to the crazy ppl
    (03:49:50) ±Game: TraceOfLife joined the game!
    (03:49:51) ±Game: pokem joined the game!
    (03:49:51) ±Game: IUsed2KnowMyName joined the game!
    (03:49:53) ±Game: ajfresh joined the game!
    (03:49:54) ±Game: Laser Kirby joined the game!
    (03:49:55) ±Game: best joined the game!
    (03:49:57) ±Game: Psykopath joined the game!
    (03:49:58) Six Scizor Sweep: Matt Ayala, shh. i like to feint scum to stay alive until lategame
    (03:50:01) aei: TraceOfLife I killed you because you'd have suspected me eventually lol.
    (03:50:03) ±Game: Prince Lyon joined the game!
    (03:50:07) Psykopath: hey people
    (03:50:08) TraceOfLife: yea, true lol
    (03:50:11) Matt Ayala: aei is asian, he knows everything
    (03:50:12) Chiyuri: his scum detector is good

    (03:50:13) ±Game: Hurry up, you only have 30 seconds more to join!

    (03:50:16) Psykopath: lol
    (03:50:19) TraceOfLife: i already know your scum tactic
    (03:50:23) Six Scizor Sweep: aei, are you asian?
    (03:50:23) Chiyuri: I can use him to clean stuff
    (03:50:25) ±Game: Chiyuri joined the game!
    (03:50:30) Six Scizor Sweep: TraceOfLife, do you know mine?
    (03:50:30) Psykopath: matt not nice XD
    (03:50:30) TraceOfLife: and i was in a battle
    (03:50:38) IUsed2KnowMyName: aei has the shortest name, only vowels, and all lowercase
    (03:50:39) Matt Ayala: (he is, and that's a compliment)
    (03:50:41) IUsed2KnowMyName: obvious scum
    (03:50:41) TraceOfLife: lol
    (03:50:44) ***************************************************************************************
    (03:50:44) Times Up! :
    (03:50:44) The Roles have been Decided! :
    (03:50:44) ±Game: You are a Victini!
    (03:50:44) ±Game: Type /Kill [name] to kill someone! You can also type /sear [name] to drain someone of their actions! Shared actions cannot be stolen. You also can't take away Vulpix's Drought command. You are by yourself!
    (03:50:44) ±Game: Your team is Matt Ayala (Victini).
    (03:50:44) ±Current Roles: Braixen, Charmeleon, Growlithe, Magby, Magmar, Magmar, Magmar, Onix, Onix, Victini, Vulpix.
    (03:50:44) ±Current Players: Chiyuri, IUsed2KnowMyName, Laser Kirby, Matt Ayala, Prince Lyon, Psykopath, Six Scizor Sweep, TraceOfLife, ajfresh, best, pokem.
    (03:50:44) ±Current Team: Victini
    (03:50:44) ±Time: Night 1
    (03:50:44) Make your moves, you only have 30 seconds! :
    (03:50:44) ***************************************************************************************
    (03:50:48) Chiyuri: lol
    (03:50:51) ±Game: You have chosen to sear ajfresh!
    (03:50:55) Chiyuri: I literally got the worst role
    (03:50:56) Six Scizor Sweep: yay
    (03:50:56) ±Game: You have chosen to kill Psykopath!
    (03:51:01) TraceOfLife: growlithe here
    (03:51:01) IUsed2KnowMyName: great
    (03:51:04) Psykopath: wait...thered scum tactics?
    (03:51:05) IUsed2KnowMyName: *clicks find battle*
    (03:51:06) ±Game: You have chosen to sear TraceOfLife!
    (03:51:06) TraceOfLife: PRs PM
    (03:51:07) Chiyuri: welp, I might as well just afk
    (03:51:10) TraceOfLife: bg on me
    (03:51:12) Chiyuri: or baddies kill me
    (03:51:13) ***************************************************************************************
    (03:51:13) Times Up! :
    (03:51:13) ±Game: A Charmeleon has been converted into a Charmeleon!
    (03:51:13) ±Kill: Psykopath (Magmar) died!
    (03:51:13) ±Game: A Growlithe has been converted into a Growlithe!
    (03:51:13) ±Game: Your target (TraceOfLife) couldn't be converted!
    (03:51:13) ±Game: The sunlight is harsh! Fire-type Pokemon have powered up!
    (03:51:13) ***************************************************************************************
    (03:51:14) ±Current Roles: Braixen, Charmeleon, Growlithe, Magby, Magmar, Magmar, Onix, Onix, Victini, Vulpix.
    (03:51:14) ±Current Players: Chiyuri, IUsed2KnowMyName, Laser Kirby, Matt Ayala, Prince Lyon, Six Scizor Sweep, TraceOfLife, ajfresh, best, pokem.
    (03:51:14) ±Current Team: Victini
    (03:51:14) ±Time: Day 1
    (03:51:14) You have 30 seconds to debate who are the bad guys! :
    (03:51:14) ***************************************************************************************
    (03:51:17) Six Scizor Sweep: oppa gangdam style
    (03:51:21) Six Scizor Sweep: wait
    (03:51:32) Six Scizor Sweep: a growlith converted into growlithe
    (03:51:32) TraceOfLife: best is clean
    (03:51:33) Matt Ayala: I might change the PRs into 2x shots instead of 1x shots.
    (03:51:34) Six Scizor Sweep: so strong
    (03:51:39) Matt Ayala: God damn it these fucking copies
    (03:51:41) IUsed2KnowMyName: a charmeleon converted into a charmeleon
    (03:51:43) ***************************************************************************************
    (03:51:43) ±Current Roles: Braixen, Charmeleon, Growlithe, Magby, Magmar, Magmar, Onix, Onix, Victini, Vulpix.
    (03:51:43) ±Current Players: Chiyuri, IUsed2KnowMyName, Laser Kirby, Matt Ayala, Prince Lyon, Six Scizor Sweep, TraceOfLife, ajfresh, best, pokem.
    (03:51:43) ±Current Team: Victini
    (03:51:43) ±Time: Day 1
    (03:51:43) It's time to vote someone off, type /Vote [name], you only have 30 seconds! :
    (03:51:43) ***************************************************************************************
    (03:51:48) Matt Ayala: I updated them god knows how many times
    (03:51:52) Matt Ayala: And it's still not working

    [TABLE]
    [TR]
    [TD]
    Theme​
    [/TD]
    [TD]
    URL​
    [/TD]
    [TD]
    Author​
    [/TD]
    [TD]
    Enabled​
    [/TD]
    [/TR]
    [TR]
    [TD]Ember
    [/TD]
    [TD]http://pastebin.com/raw.php?i=LPjMVk9J
    [/TD]
    [TD]Matt Ayala, X2C|Matt Ayala and Matt Ayala
    [/TD]
    [TD]Yes
    [/TD]
    [/TR]
    [/TABLE]

    (03:52:00) TraceOfLife: braixen and vilpix pm or die
    (03:52:01) Chiyuri: guys, let me prove myself
    (03:52:02) ±Game: Six Scizor Sweep voted for Laser Kirby!
    (03:52:02) Laser Kirby: hmmm
    (03:52:03) ajfresh: whats wrong with not talking
    (03:52:05) Six Scizor Sweep: lasers aren't fire
    (03:52:07) Chiyuri: oh nvm then
    (03:52:07) ±Game: Laser Kirby voted for Six Scizor Sweep!
    (03:52:08) Six Scizor Sweep: obv baddie
    (03:52:11) ±Game: TraceOfLife voted for Six Scizor Sweep!
    (03:52:15) ±Game: pokem voted for Matt Ayala!
    (03:52:16) Six Scizor Sweep: lasers aren't fire. obv baddie!!!!
    (03:52:16) Laser Kirby: laser's are water types
    (03:52:17) TraceOfLife: 1st i rand
    (03:52:22) TraceOfLife: not your rand
    (03:52:22) ***************************************************************************************
    (03:52:22) Times Up! :
    (03:52:22) ±Game: Six Scizor Sweep (Braixen) was removed from the game!
    (03:52:22) ***************************************************************************************
    (03:52:22) ±Current Roles: Charmeleon, Growlithe, Magby, Magmar, Magmar, Onix, Onix, Victini, Vulpix.
    (03:52:22) ±Current Players: Chiyuri, IUsed2KnowMyName, Laser Kirby, Matt Ayala, Prince Lyon, TraceOfLife, ajfresh, best, pokem.
    (03:52:22) ±Current Team: Victini
    (03:52:22) ±Time: Night 2
    (03:52:22) Make your moves, you only have 30 seconds! :
    (03:52:22) ***************************************************************************************
    (03:52:27) Laser Kirby: lol
    (03:52:33) ±Game: You have chosen to sear IUsed2KnowMyName!
    (03:52:38) ±Game: You have chosen to kill pokem!
    (03:52:40) Laser Kirby: gg dying now
    (03:52:46) Laser Kirby: killing trace for good
    (03:52:52) TraceOfLife: wat
    (03:52:53) ***************************************************************************************
    (03:52:53) Times Up! :
    (03:52:53) ±Game: A Vulpix has been converted into a Vulpix!
    (03:52:53) ±Kill: Laser Kirby (Charmeleon) died!
    (03:52:53) ±Kill: pokem (Vulpix) died!
    (03:52:53) ±Game: A Growlithe has been converted into a Growlithe!
    (03:52:53) ±Game: Your target (IUsed2KnowMyName) couldn't be converted!
    (03:52:53) ***************************************************************************************
    (03:52:53) ±Current Roles: Growlithe, Magby, Magmar, Magmar, Onix, Onix, Victini.
    (03:52:53) ±Current Players: Chiyuri, IUsed2KnowMyName, Matt Ayala, Prince Lyon, TraceOfLife, ajfresh, best.
    (03:52:53) ±Current Team: Victini
    (03:52:53) ±Time: Day 2
    (03:52:53) You have 30 seconds to debate who are the bad guys! :
    (03:52:53) ***************************************************************************************
    (03:52:53) Chiyuri: hopefully Victini doesn't know what they're doing.
    (03:53:08) TraceOfLife: prince lyon is onix
    (03:53:11) Reimu changed names and is now known as Ikusaba.
    (03:53:16) Prince Lyon: I wish I was
    (03:53:19) Prince Lyon: Im just a magmar
    (03:53:22) best: I'm Magyar
    (03:53:22) ***************************************************************************************
    (03:53:22) ±Current Roles: Growlithe, Magby, Magmar, Magmar, Onix, Onix, Victini.
    (03:53:22) ±Current Players: Chiyuri, IUsed2KnowMyName, Matt Ayala, Prince Lyon, TraceOfLife, ajfresh, best.
    (03:53:22) ±Current Team: Victini
    (03:53:22) ±Time: Day 2
    (03:53:22) It's time to vote someone off, type /Vote [name], you only have 30 seconds! :
    (03:53:22) ***************************************************************************************
    (03:53:25) ±Game: TraceOfLife voted for Prince Lyon!
    (03:53:26) Matt Ayala: Okay, I'm reporting this log. Just play cool like nothing is bugged guys :)
    (03:53:33) ±Game: Prince Lyon voted for best!
    (03:53:39) TraceOfLife: VOTE PRINCE NPW
    (03:53:39) Prince Lyon: Leave it
    (03:53:41) ±Game: Matt Ayala voted for best!
    (03:53:42) TraceOfLife: now
    (03:53:45) Chiyuri: if you're magmar, vote prince
    (03:53:46) Prince Lyon: Im not onix
    (03:53:47) TraceOfLife: best is clean
    (03:53:47) Chiyuri: hurry
    (03:53:48) Matt Ayala: oh
    (03:53:50) ±Game: ajfresh voted for best!
    (03:53:51) Matt Ayala: why prince?
    (03:53:53) +Victini: i know very well what im doing
    (03:53:54) Chiyuri: ...
    (03:53:54) ±Game: IUsed2KnowMyName voted for best!
    (03:53:55) TraceOfLife: WTF
    (03:53:59) Prince Lyon: XD
    (03:53:59) Matt Ayala: lol victini
    (03:54:00) Chiyuri: oh I'm sorry Victini
    (03:54:02) Chiyuri: x_x
    (03:54:02) ***************************************************************************************
    (03:54:02) Times Up! :
    (03:54:02) ±Game: best (Magmar) was removed from the game!
    (03:54:02) ***************************************************************************************
    (03:54:02) ±Current Roles: Growlithe, Magby, Magmar, Onix, Onix, Victini.
    (03:54:02) ±Current Players: Chiyuri, IUsed2KnowMyName, Matt Ayala, Prince Lyon, TraceOfLife, ajfresh.
    (03:54:02) ±Current Team: Victini
    (03:54:02) ±Time: Night 3
    (03:54:02) Make your moves, you only have 30 seconds! :
    (03:54:02) ***************************************************************************************
    (03:54:08) Chiyuri: sorry for the flash
    (03:54:08) TraceOfLife: STUPID VILLY
    (03:54:11) Matt Ayala: Okay scum you now tie with village
    (03:54:17) ±Game: You have chosen to kill Prince Lyon!
    (03:54:19) Chiyuri: sigh
    (03:54:21) Matt Ayala: it wouldn't be the wisest idea
    (03:54:22) Matt Ayala: to kill me
    (03:54:25) TraceOfLife: ....
    (03:54:28) TraceOfLife: meh
    (03:54:32) ***************************************************************************************
    (03:54:32) Times Up! :
    (03:54:32) ±Kill: TraceOfLife (Growlithe) died!
    (03:54:32) ±Kill: Prince Lyon (Onix) died!
    (03:54:32) ***************************************************************************************
    (03:54:32) ±Current Roles: Magby, Magmar, Onix, Victini.
    (03:54:32) ±Current Players: Chiyuri, IUsed2KnowMyName, Matt Ayala, ajfresh.
    (03:54:32) ±Current Team: Victini
    (03:54:32) ±Time: Day 3
    (03:54:32) You have 30 seconds to debate who are the bad guys! :
    (03:54:32) ***************************************************************************************
    (03:54:33) Matt Ayala: because you would be stumped w/o me
    (03:54:38) Chiyuri: lol
    (03:54:42) Chiyuri: village loses gg
    (03:54:47) Chiyuri: doesn't even matter if xfire
    (03:54:48) Matt Ayala: There's hope.
    (03:54:49) IUsed2KnowMyName: lmao
    (03:54:55) Matt Ayala: No wait
    (03:54:56) Matt Ayala: Magby
    (03:55:01) Chiyuri: Magmar gets 1 vote, magby gets 0
    (03:55:02) ***************************************************************************************
    (03:55:02) ±Current Roles: Magby, Magmar, Onix, Victini.
    (03:55:02) ±Current Players: Chiyuri, IUsed2KnowMyName, Matt Ayala, ajfresh.
    (03:55:02) ±Current Team: Victini
    (03:55:02) ±Time: Day 3
    (03:55:02) It's time to vote someone off, type /Vote [name], you only have 30 seconds! :
    (03:55:02) ***************************************************************************************
    (03:55:05) Chiyuri: so yeah.
    (03:55:07) Matt Ayala: He's a game changer, ya know.
    (03:55:08) IUsed2KnowMyName: yeah
    (03:55:12) ajfresh: what's y'all favorite pokemon
    (03:55:14) ±Game: IUsed2KnowMyName voted for ajfresh!
    (03:55:27) IUsed2KnowMyName: why not, village loses anyway
    (03:55:31) Chiyuri: Lilligant, I guess?
    (03:55:33) ***************************************************************************************
    (03:55:33) Times Up! :
    (03:55:33) ±Game: ajfresh (Onix) was removed from the game!
    (03:55:33) ***************************************************************************************
    (03:55:33) ±Current Roles: Magby, Magmar, Victini.
    (03:55:33) ±Current Players: Chiyuri, IUsed2KnowMyName, Matt Ayala.
    (03:55:33) ±Current Team: Victini
    (03:55:33) ±Time: Night 4
    (03:55:33) Make your moves, you only have 30 seconds! :
    (03:55:33) ***************************************************************************************
    (03:55:38) ±Game: You have chosen to kill Chiyuri!
    (03:55:49) Matt Ayala: Killing Chiyuri, because I can't spell out IUsed2's name.
    (03:55:50) Chiyuri: Magby here, please kill me for my 0 vote and +1 voteshield
    (03:55:55) Chiyuri: ty
    (03:56:02) ***************************************************************************************
    (03:56:02) Times Up! :
    (03:56:02) ±Kill: Chiyuri (Magby) died!
    (03:56:02) ±Game: The Victini (Matt Ayala) wins!
    (03:56:02) ±Game: The Magmar Martyrs (IUsed2KnowMyName) lose!
    (03:56:02) ***************************************************************************************
    (03:56:02) ***************************************************************************************:
    (03:56:02) ±Murkrow: Please read and follow the /mafiarules! STOP TEAMVOTING.
    (03:56:02) ***************************************************************************************:
    [/HIDE]

    Problem: The message is showing globally despite the roles' copy being set to silent via silentCopy boolean.
    Roles in concern: "braixen", "growlithe", "charmeleon", "vulpix", "vulpix_used", "onix"
    Raw paste: http://pastebin.com/raw.php?i=LPjMVk9J
     
  21. IceKirby

    IceKirby A.K.A. RiceKirby

    Joined:
    Apr 26, 2011
    Messages:
    2,176
    Likes Received:
    635
    PO Trainer Name:
    RiceKirby
    "silentCopy" only hides the "You have been converted" and the startup messages (AKA /myrole messages). To hide the message that is broadcast, you need to use "silent": true.
    BTW, those roles have silentCopy twice :x
     
  22. Shazan

    Shazan Obey to Kyubey

    Joined:
    Jan 21, 2013
    Messages:
    591
    Likes Received:
    14
    PO Trainer Name:
    Obey to Kyubey
    Thanks Fuzzy, i think that the possibility to silence the shieldmsg and the different failmsg will be really useful and even the guide for the messages will be, it has been always a bit confusing to understand what i needed to write as command to create the right message following the Mafia Theme Documentation and even the guide on the Opening Post of the How To Make Mafia Themes so thanks.
    I have only one question, before of this addiction that you have done: to make a message for a player when gets his attack ignored by his attack <<because this last one has the "mode": "ignore" as attribute>> we needed to write "msg": "Your target (~Self~) evaded your ~Action~!", instead of "targetmsg": "Your target (~Self~) evaded your ~Action~!", . So i wanted to ask you if when you have written your Mafia Theme Message Guide did you have made a mistake and is still "msg", or you have changed it so that now it has to be "targetmsg". Just to be sure if i have to modify my ignore messages or not.
     
  23. Fuzzysqurl

    Fuzzysqurl baa baa mareep I do what I want Server Owner Developer I do what I want Server Owner Developer

    Joined:
    Sep 12, 2012
    Messages:
    2,096
    Likes Received:
    967
    Fixed ^^

    The variable is named targetmsg, but it uses "msg"
    So I got them mixed up.
     
  24. Shazan

    Shazan Obey to Kyubey

    Joined:
    Jan 21, 2013
    Messages:
    591
    Likes Received:
    14
    PO Trainer Name:
    Obey to Kyubey
    On my animal theme i am using "dummy7targetmsg" , "dummy9broadcastmsg", "dummy8usermsg", "dummy8targetmsg". But the checker consider them as minor error, so i wanted to ask if they will work on server before to update my theme with it.
     
  25. IceKirby

    IceKirby A.K.A. RiceKirby

    Joined:
    Apr 26, 2011
    Messages:
    2,176
    Likes Received:
    635
    PO Trainer Name:
    RiceKirby
    Oh welp, I forgot to update the dummy messages part for the checker :x
    So yes, you can use them.
     
  26. froggydojo

    froggydojo New Member

    Joined:
    Jan 17, 2014
    Messages:
    6
    Likes Received:
    0
    So I am getting a parse error on line two which is:
    "name": "Mudkipz",
    The parse error says:
    Parse error on line 2:
    [ "name": "Mudkipz", "au
    -----------^
    Expecting '}', ',', ']'

    Can anyone help?
     
  27. IceKirby

    IceKirby A.K.A. RiceKirby

    Joined:
    Apr 26, 2011
    Messages:
    2,176
    Likes Received:
    635
    PO Trainer Name:
    RiceKirby
    You should use { instead of [.
     
  28. froggydojo

    froggydojo New Member

    Joined:
    Jan 17, 2014
    Messages:
    6
    Likes Received:
    0
    Parse errors, man. I have another one on line 4 which is:
    Parse error on line 4:
    ...converns/questions!""sides": { {
    -----------------------^
    Expecting '}', ':', ',', ']'\

    Line four is:
    "summary": "so i herd u liek mudkipz. Fight off the evil Mudkipz memes and clear the Mudkip name! This theme is still WIP, message me, froggydojo, if you have any converns/questions!""sides": ]

    The end bracket should be [
     
    Last edited by a moderator: Jan 18, 2014
  29. IceKirby

    IceKirby A.K.A. RiceKirby

    Joined:
    Apr 26, 2011
    Messages:
    2,176
    Likes Received:
    635
    PO Trainer Name:
    RiceKirby
    If you are getting errors on the first line of code, then it would be better if you actually learned how JSON works instead of coming here asking for every error you get. JSON is quite simple, just look for some guides and you will never need to worry about those errors anymore.
     
  30. Shazan

    Shazan Obey to Kyubey

    Joined:
    Jan 21, 2013
    Messages:
    591
    Likes Received:
    14
    PO Trainer Name:
    Obey to Kyubey
    Thanks Ice you are always fast to answer back to this questions.
    P.S.
    Can someone enlight me about a doubt?: if there is a role A that has evadechance 40% on 2 actions ( for exemple "dummy" and "dummy2" ) and there is a role B that has a command that have both this 2 actions: when role B use his Command on role A, what appens precisely? When role A evade the action "dummy" from B's command, does A automatically evade even the "dummy2" part of the command? or "dummy" and "dummy2" evasion will be indipendent from each other ?
     
    Last edited: Jan 18, 2014
  31. IceKirby

    IceKirby A.K.A. RiceKirby

    Joined:
    Apr 26, 2011
    Messages:
    2,176
    Likes Received:
    635
    PO Trainer Name:
    RiceKirby
    If the evadeChance for both actions are the same, they will always be evaded or not together. If they are different, it's possible for player A to evade dummy but not dummy2 (if the one with the lower chance is evaded, those with a higher chance will be evaded too).
     
  32. Fuzzysqurl

    Fuzzysqurl baa baa mareep I do what I want Server Owner Developer I do what I want Server Owner Developer

    Joined:
    Sep 12, 2012
    Messages:
    2,096
    Likes Received:
    967
    Well, brief update for mafia, nothing major, the two bug fixes are because we needed them and the two new features were customized because I wanted them.

    BUG FIXES:
    1. Fixed night1 seconds to properly work. It used to override custom night seconds and set everything to a flat 40 seconds. This had a chance to be shorter than the actual night phase defeating the entire purpose of the addition.
    2. Border should no longer display twice on certain occassions


    NEW FEATURES:
    1. Applied the "removeDuplicates" function to priority listing. What this means is, "hide" in action is for the most part automated. You're still able to use to hide other actions, but duplicate entries will no longer be displayed, saving time and effort to users using variables to clone roles.

    Before Update:
    Priority List for theme AC:
    [0] Haytham Kenway (Kill)
    [0] Haytham Kenway (Kill)
    [1] Templar Guard (Stop)
    [2] Teodora Contanto (Distract)
    [3] Courtesan (Distract)
    [3] Juno (Protect)
    [3] Juno (Protect)

    After Update:
    Priority List for theme AC:
    [0] Haytham Kenway (Kill)
    [1] Templar Guard (Stop)
    [2] Teodora Contanto (Distract)
    [3] Courtesan (Distract)
    [3] Juno (Protect)

    2. Added a help2 message. Please don't abuse this to make huge walls of text that are impossible to read. If I see this happen, I'll restrict it heavily. It is another feature to making using variables to clone roles more practical. With a help2, you can customize a flat message, and as the role changes, you can update help2. Such as:
    Code (text):
    1. "help": "You are an inspector. You can /inspect one player during the night",
    2. "help2": "You currently have 4 HP out of a maximum 15 left.",
    If you define the initial help message as
    Code (text):
    1.  
    2. "variables": {
    3. "inspmsg": "You are an inspector. You can /inspect one player during the night",
    4. "inspaction": {"inspect": {"target": "AnyButSelf", "common": "Self", "priority": 10}}
    5. }
    6.  
    Then you can literally do:
    Code (text):
    1.  
    2. {
    3. "role": "inspector15",
    4. "translation": "Inspector",
    5. "side": "village",
    6. "help": "variable:inspmsg",
    7. "help2": "You currently have 15 HP out of a maximum 15 left.",
    8. "actions": {
    9. "night": "variable:inspaction"
    10. },
    11. {
    12. "role": "inspector14",
    13. "translation": "Inspector",
    14. "side": "village",
    15. "help": "variable:inspmsg",
    16. "help2": "You currently have 14 HP out of a maximum 15 left.",
    17. "actions": {
    18. "night": "variable:inspaction"
    19. },
    20. {
    21. "role": "inspector13",
    22. "translation": "Inspector",
    23. "side": "village",
    24. "help": "variable:inspmsg",
    25. "help2": "You currently have 13 HP out of a maximum 15 left.",
    26. "actions": {
    27. "night": "variable:inspaction"
    28. },
    29. And so on...
    30.  
    Now if you wanted to update the Inspector to give it 10% fail chance, you could update the variables
    Code (text):
    1.  
    2. "variables": {
    3. "inspmsg": "You are an inspector. You can /inspect one player during the night, but it could fail 10% of the time",
    4. "inspaction": {"inspect": {"target": "AnyButSelf", "common": "Self", "priority": 10, "failChance": 0.1}}
    5. }
    6.  
    And your ENTIRE THEME gets updated at once.
    Variables were kind of shafted when they were released, not sure if its due to lack of what it can be used for or just too difficult, but its a very powerful system to allow giant themes to be coded very simply. Animals could be simplified more using these updates. Move all the poison/hp messages into help2, have a standard helpmsg, make all the actions and modes variables, and it will be much easier to massively update at once.
     
    Last edited: Jan 18, 2014
  33. Angel Flonne

    Angel Flonne macaron

    Joined:
    Jan 24, 2013
    Messages:
    509
    Likes Received:
    3
    PO Trainer Name:
    Angel Flonne
    Animals could be simplified more using these updates.

    Yay thanks fuzzy
     
  34. Shazan

    Shazan Obey to Kyubey

    Joined:
    Jan 21, 2013
    Messages:
    591
    Likes Received:
    14
    PO Trainer Name:
    Obey to Kyubey
    Thanks For the remove duplicate and the Help message 2, i will try to modify the Help Messages when i will have some free time because it will take a bit to modify all of them.
    About your propose to make it all the actions as variables, it's something that i thought too in the past but sadly not all of the actions are possible to edit into variables efficently, mainly the attacks that are the most common action because of the copy inside of them for the bomb roles that makes this attacks different depending of the different Health Points, but i will try to make it more variables oriented those commands like exposes and shield into variables.
     
  35. froggydojo

    froggydojo New Member

    Joined:
    Jan 17, 2014
    Messages:
    6
    Likes Received:
    0
    So it's been almost a week and I still can't find out what's wrong with it. I've had other people look at it and they couldn't figure it out either. You don't have to answer me, but I just wanted to say I still can't find the problem.
     
  36. IceKirby

    IceKirby A.K.A. RiceKirby

    Joined:
    Apr 26, 2011
    Messages:
    2,176
    Likes Received:
    635
    PO Trainer Name:
    RiceKirby
    Which is why I told you it would be more productive if you learned how JSON works. If you do, finding any error will be really easy.
    In any case, no one can figure the error if you only paste the error line. Put your entire code in a Pastebin and post here, then someone can take a better look (if I'm not lazy, that person could be myself). If your project is secret and you don't want to reveal it yet, send me by PM and I will take a look.

    EDIT:
    Almost forgot. New small feature for Night Actions.

    Cancel: Works similarly to "restrict", but it will cancel other commands if they had been input before.
    A good example of where it's useful would be Rotom. The code below will make it so if you type /mow to become Mow Rotom, you can still type /frost if you changed your mind. After typing /frost with the code below, the game will simply forget that you typed /heat, /wash, /mow or /fan during that night.
    Code (text):
    1. "frost": {
    2.     "command": "convert",
    3.     "target": "OnlySelf",
    4.     "common": "Self",
    5.     "priority": 0,
    6.     "newRole": "ice",
    7.     "canConvert": ["rotom"],
    8.     "cancel": [ "heat", "wash", "mow", "fan" ],
    9.     "silent": true
    10. }
     
    Last edited: Jan 22, 2014
  37. froggydojo

    froggydojo New Member

    Joined:
    Jan 17, 2014
    Messages:
    6
    Likes Received:
    0
  38. IceKirby

    IceKirby A.K.A. RiceKirby

    Joined:
    Apr 26, 2011
    Messages:
    2,176
    Likes Received:
    635
    PO Trainer Name:
    RiceKirby
    You have far too many errors.
    First, you can't use quotation marks on messages. If you really need them you must type them as \" or the script will throw an error.
    Second, you deleted some important parts, like the "roles": [ line.
    Third, you didn't close some quotation marks pairs. Make sure all your messages have a " before and another one after them.
    Fourth and more important, you removed the commas. Almost all of them. Only from that you will probably have over 50 errors.

    If you don't know how to use JSON, try this site: http://www.jsoneditoronline.org/
    Paste an existing theme you there, click the Right Arrow button and edit on the right panel. When you are done, click the Left Arrow button and copy the code on the left panel.
     
  39. Shazan

    Shazan Obey to Kyubey

    Joined:
    Jan 21, 2013
    Messages:
    591
    Likes Received:
    14
    PO Trainer Name:
    Obey to Kyubey
    I was wondering, because Help2 is more of a command needed to give small important info higly variable on time without to have them mixed with the main infos of the normal "help" command, wouldn't be good to have some sort of <"refreshHelp2": true,> command to add inside roles, letting them able to automatically show that role's "help2" at the end of every night without to give too the normal "help" that typically is more long and intrusive, it could be even useful on other themes with Dynamic roles, like Underdog, where help2 could says how much /kill a role needs to receive to die with the actual number of players.
     
  40. Yttrium

    Yttrium Well-Known Member Developer Developer

    Joined:
    Sep 29, 2010
    Messages:
    619
    Likes Received:
    283
    PO Trainer Name:
    Yttrium
    Could you do this the same way infinite dummies are detected by the script?
     
Moderators: Pamitha, Water
Thread Status:
Not open for further replies.