Paste #23954: Untitled Paste

Date: 2015/12/18 21:54:44 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


## TODO: Set 'when' the votes are reset and revolution is enabled/bypassed. "How is revolution enabled?"
## TODO: Code what happens when revolution is enabled.
## TODO: Code system to manage Citizenship. IE Automatically move to Wanderer class after 1 week inactivity on the server.
## TODO: Code system to manage the general limit of how many players can join a kingdom.
## TODO: Code how players 'win' a revolution.
## TODO: Code vote system for players to vote for new king IF they 'win' revolution.
## TODO: What happens if a King is inactive for a week?



Enable_Revolution:
    type: world
    events:
        on system time 17:00:
        - define formula_igazijungle <server.flag[Citizens_of_IgaziJungle].div[2]>
        - define formula_boneyardisles <server.flag[Citizens_of_BoneyardIsles].div[2]>
        - define formula_witherrock <server.flag[Citizens_of_WitherRock].div[2]>
        - define formula_endervalley <server.flag[Citizens_of_EnderValley].div[2]>
        - define formula_dragourn <server.flag[Citizens_of_Dragourn].div[2]>
        - foreach <server.list_players> {
            - if <%value%.in_group[Civilian_Dragourn]> || <%value%.in_group[Soldier_Dragourn]> || <%value%.in_group[Guard_Dragourn]> || <%value%.in_group[Mercenary_Dragourn]> || <%value%.in_group[King_Dragourn]> {
                - flag server Citizens_of_Dragourn:++
              } else {
                - if <%value%.in_group[Civilian_EnderValley]> || <%value%.in_group[Soldier_EnderValley]> || <%value%.in_group[Guard_EnderValley]> || <%value%.in_group[Mercenary_EnderValley]> || <%value%.in_group[King_EnderValley]> {
                    - flag server Citizens_of_EnderValley:++
                  } else {
                    - if <%value%.in_group[Civilian_WitherRock]> || <%value%.in_group[Soldier_WitherRock]> || <%value%.in_group[Guard_WitherRock]> || <%value%.in_group[Mercenary_WitherRock]> || <%value%.in_group[King_WitherRock]> {
                        - flag server Citizens_of_WitherRock:++
                      } else {
                        - if <%value%.in_group[Civilian_BoneyardIsles]> || <%value%.in_group[Soldier_BoneyardIsles]> || <%value%.in_group[Guard_BoneyardIsles]> || <%value%.in_group[Mercenary_BoneyardIsles]> || <%value%.in_group[King_BoneyardIsles]> {
                            - flag server Citizens_of_BoneyardIsles:++
                          } else {
                            - if <%value%.in_group[Civilian_IgaziJungle]> || <%value%.in_group[Soldier_IgaziJungle]> || <%value%.in_group[Guard_IgaziJungle]> || <%value%.in_group[Mercenary_IgaziJungle]> || <%value%.in_group[King_IgaziJungle]> {
                                - flag server Citizens_of_IgaziJungle:++
                              } else {
                                - flag server Wanderers:++
                            }
                        }
                    }
                }
            }
        }
        - if <server.flag[Dragourn_Revolution]> > <def[formula_dragourn]> {
            - flag server Dragourn_Revolution_Enabled:true
            - flag server Dragourn_Revolution:0
            - foreach <server.list_online_players> {
                - narrate "The Dragourn Peak Kingdom has enacted a revolution to usurp the throne."
            }
          } else {
            - foreach <server.list_online_players> {
                - narrate "The Dragourn Peak King keeps the throne for another day."
            }
        }
        - wait 5
        - if <server.flag[EnderValley_Revolution]> > <def[formula_endervalley]> {
            - flag server EnderValley_Revolution_Enabled:true
            - flag server EnderValley_Revolution:0
            - foreach <server.list_online_players> {
                - narrate "The Ender Valley Kingdom has enacted a revolution to usurp the throne."
            }
          } else {
            - foreach <server.list_online_players> {
                - narrate "The Ender Valley King keeps the throne for another day."
            }
        }
        - wait 5
        - if <server.flag[WitherRock_Revolution]> > <def[formula_witherrock]> {
            - flag server WitherRock_Revolution_Enabled:true
            - flag server WitherRock_Revolution:0
            - foreach <server.list_online_players> {
                - narrate "The Wither Rock Kingdom has enacted a revolution to usurp the throne."
            }
          } else {
            - foreach <server.list_online_players> {
                - narrate "The Wither Rock King keeps the throne for another day."
            }
        }
        - wait 5
        - if <server.flag[BoneyardIsles_Revolution]> > <def[formula_boneyardisles]> {
            - flag server BoneyardIsles_Revolution_Enabled:true
            - flag server BoneyardIsles_Revolution:0
            - foreach <server.list_online_players> {
                - narrate "The Boneyard Isles Kingdom has enacted a revolution to usurp the throne."
            }
          } else {
            - foreach <server.list_online_players> {
                - narrate "The Boneyard Isles King keeps the throne for another day."
            }
        }
        - wait 5
        - if <server.flag[IgaziJungle_Revolution]> > <def[formula_igazijungle]> {
            - flag server IgaziJungle_Revolution_Enabled:true
            - flag server IgaziJungle_Revolution:0
            - foreach <server.list_online_players> {
                - narrate "The Igazi Jungle Kingdom has enacted a revolution to usurp the throne."
            }
          } else {
            - foreach <server.list_online_players> {
                - narrate "The Igazi Jungle King keeps the throne for another day."
            }
        }
        - foreach <server.list_players> {
            - flag %value% rev_votes:0
            - narrate "<server.flag[Wanderers].as_int> Wanderers roam the world."
        }
        - flag server Citizens_of_BoneyardIsles:0
        - flag server Citizens_of_Dragourn:0
        - flag server Citizens_of_EnderValley:0
        - flag server Citizens_of_IgaziJungle:0
        - flag server Citizens_of_WitherRock:0
        - flag server BoneyardIsles_Revolution:0
        - flag server Dragourn_Revolution:0
        - flag server EnderValley_Revolution:0
        - flag server IgaziJungle_Revolution:0
        - flag server WitherRock_Revolution:0
Rev_Vote:
    type: Command
    name: voterev
    description: "Vote for a revolution in your Kingdom!"
    usage: /voterev
    aliases:
        - rvote
    permission: vote.revolution
    permission message: "You must join a kingdom in order to vote for a revolution!"
    allowed help:
    - determine <player.has_permission[vote.revolution]||<player.is_op>>
    script:
    - foreach <server.list_players> {
        - if <%value%.in_group[Civilian_Dragourn]> || <%value%.in_group[Soldier_Dragourn]> || <%value%.in_group[Guard_Dragourn]> || <%value%.in_group[Mercenary_Dragourn]> || <%value%.in_group[King_Dragourn]> {
            - flag %value% Dragourn_Kingdom:true
            - flag %value% EnderValley_Kingdom:false
            - flag %value% WitherRock_Kingdom:false
            - flag %value% BoneyardIsles_Kingdom:false
            - flag %value% IgaziJungle_Kingdom:false
            - flag %value% Wanderer:false
          } else {
            - if <%value%.in_group[Civilian_EnderValley]> || <%value%.in_group[Soldier_EnderValley]> || <%value%.in_group[Guard_EnderValley]> || <%value%.in_group[Mercenary_EnderValley]> || <%value%.in_group[King_EnderValley]> {
                - flag %value% Dragourn_Kingdom:false
                - flag %value% EnderValley_Kingdom:true
                - flag %value% WitherRock_Kingdom:false
                - flag %value% BoneyardIsles_Kingdom:false
                - flag %value% IgaziJungle_Kingdom:false
                - flag %value% Wanderer:false
              } else {
                - if <%value%.in_group[Civilian_WitherRock]> || <%value%.in_group[Soldier_WitherRock]> || <%value%.in_group[Guard_WitherRock]> || <%value%.in_group[Mercenary_WitherRock]> || <%value%.in_group[King_WitherRock]> {
                    - flag %value% Dragourn_Kingdom:false
                    - flag %value% EnderValley_Kingdom:false
                    - flag %value% WitherRock_Kingdom:true
                    - flag %value% BoneyardIsles_Kingdom:false
                    - flag %value% IgaziJungle_Kingdom:false
                    - flag %value% Wanderer:false
                  } else {
                    - if <%value%.in_group[Civilian_BoneyardIsles]> || <%value%.in_group[Soldier_BoneyardIsles]> || <%value%.in_group[Guard_BoneyardIsles]> || <%value%.in_group[Mercenary_BoneyardIsles]> || <%value%.in_group[King_BoneyardIsles]> {
                        - flag %value% Dragourn_Kingdom:false
                        - flag %value% EnderValley_Kingdom:false
                        - flag %value% WitherRock_Kingdom:false
                        - flag %value% BoneyardIsles_Kingdom:true
                        - flag %value% IgaziJungle_Kingdom:false
                        - flag %value% Wanderer:false
                      } else {
                        - if <%value%.in_group[Civilian_IgaziJungle]> || <%value%.in_group[Soldier_IgaziJungle]> || <%value%.in_group[Guard_IgaziJungle]> || <%value%.in_group[Mercenary_IgaziJungle]> || <%value%.in_group[King_IgaziJungle]||null> {
                            - flag %value% Dragourn_Kingdom:false
                            - flag %value% EnderValley_Kingdom:false
                            - flag %value% WitherRock_Kingdom:false
                            - flag %value% BoneyardIsles_Kingdom:false
                            - flag %value% IgaziJungle_Kingdom:true
                            - flag %value% Wanderer:false
                            - if <%value%.in_group[King_IgaziJungle]> == null {
                                - flag %value% Dragourn_Kingdom:false
                                - flag %value% EnderValley_Kingdom:false
                                - flag %value% WitherRock_Kingdom:false
                                - flag %value% BoneyardIsles_Kingdom:false
                                - flag %value% IgaziJungle_Kingdom:false
                                - flag %value% Wanderer:true
                            }
                          } else {
                            - flag %value% Dragourn_Kingdom:false
                            - flag %value% EnderValley_Kingdom:false
                            - flag %value% WitherRock_Kingdom:false
                            - flag %value% BoneyardIsles_Kingdom:false
                            - flag %value% IgaziJungle_Kingdom:false
                            - flag %value% Wanderer:true
                        }
                    }
                }
            }
        }
    }
    - if <player.flag[rev_votes]||0> > 0 {
        - narrate "You've already voted today! You may not vote again until votes have been cleared."
        - queue clear
      } else {
        - foreach <server.list_players> {
            - if <%value%.in_group[Civilian_Dragourn]> || <%value%.in_group[Soldier_Dragourn]> || <%value%.in_group[Guard_Dragourn]> || <%value%.in_group[Mercenary_Dragourn]> {
                - if <server.flag[Dragourn_Revolution_Enabled]> == false {
                    - foreach <server.list_players> {
                        - if <%value%.flag[Dragourn_Kingdom]> {
                            - flag server Dragourn_Citizens:++
                        }
                    }
                    - if <server.flag[Dragourn_Citizens]> >= 1 && %value% == <player> {
                        - flag server Dragourn_Citizens:0
                        - flag server Dragourn_Revolution:++
                        - flag player rev_votes:++
                        - narrate "You've voted for a Dragourn Revolution!"
                        - queue clear
                      } else {
                        - flag server Dragourn_Citizens:0
                        - if %value% == <player> {
                            - narrate "That Kingdom doesn't have enough citizens for a revolution!"
                            - queue clear
                        }
                    }
                  } else {
                    - if %value% == <player> {
                        - narrate "That Kingdom is already in the midst of a revolution!"
                    }
                }
              } else {
                - if <%value%.in_group[Civilian_EnderValley]> || <%value%.in_group[Soldier_EnderValley]> || <%value%.in_group[Guard_EnderValley]> || <%value%.in_group[Mercenary_EnderValley]> {
                    - if <server.flag[EnderValley_Revolution_Enabled]> == false {
                        - foreach <server.list_players> {
                            - if <%value%.flag[EnderValley_Kingdom]> {
                                - flag server EnderValley_Citizens:++
                            }
                        }
                        - if <server.flag[EnderValley_Citizens]> >= 10 && %value% == <player> {
                            - flag server EnderValley_Citizens:0
                            - flag server EnderValley_Revolution:++
                            - flag player rev_votes:++
                            - narrate "You've voted for an Ender Valley Revolution!"
                            - queue clear
                          } else {
                            - flag server EnderValley_Citizens:0
                            - if %value% == <player> {
                                - narrate "That Kingdom doesn't have enough citizens for a revolution!"
                                - queue clear
                            }
                        }
                      } else {
                        - if %value% == <player> {
                            - narrate "That Kingdom is already in the midst of a revolution!"
                        }
                    }
                  } else {
                    - if <%value%.in_group[Civilian_WitherRock]> || <%value%.in_group[Soldier_WitherRock]> || <%value%.in_group[Guard_WitherRock]> || <%value%.in_group[Mercenary_WitherRock]> {
                        - if <server.flag[WitherRock_Revolution_Enabled]> == false {
                            - foreach <server.list_player> {
                                - if <%value%.flag[WitherRock_Kingdom]> {
                                    - flag server WitherRock_Citizens:++
                                }
                            }
                            - if <server.flag[WitherRock_Citizens]> >= 10 && %value% == <player> {
                                - flag server WitherRock_Citizens:0
                                - flag server WitherRock_Revolution:++
                                - flag player rev_votes:++
                                - narrate "You've voted for a Wither Rock Revolution!"
                                - queue clear
                              } else {
                                - flag server WitherRock_Citizens:0
                                - if %value% == <player> {
                                    - narrate "That Kingdom doesn't have enough citizens for a revolution!"
                                    - queue clear
                                }
                            }
                          } else {
                            - if %value% == <player> {
                                - narrate "That Kingdom is already in the midst of a revolution!"
                            }
                        }
                      } else {
                        - if <%value%.in_group[Civilian_BoneyardIsles]> || <%value%.in_group[Soldier_BoneyardIsles]> || <%value%.in_group[Guard_BoneyardIsles]> || <%value%.in_group[Mercenary_BoneyardIsles]> {
                            - if <server.flag[BoneyardIsles_Revolution_Enabled]> == false {
                                - foreach <server.list_players> {
                                    - if <%value%.flag[BoneyardIsles_Kingdom]> {
                                        - flag server BoneyardIsles_Citizens:++
                                    }
                                }
                                - if <server.flag[BoneyardIsles_Citizens]> >= 10 && %value% == <player> {
                                    - flag server BoneyardIsles_Citizens:0
                                    - flag server BoneyardIsles_Revolution:++
                                    - flag player rev_votes:++
                                    - narrate "You've voted for a Boneyard Isles Revolution!"
                                    - queue clear
                                  } else {
                                    - flag server BoneyardIsles_Citizens:0
                                    - if %value% == <player> {
                                        - narrate "That Kingdom doesn't have enough citizens for a revolution!"
                                        - queue clear
                                    }
                                }
                              } else {
                                - if %value% == <player> {
                                    - narrate "That Kingdom is already in the midst of a revolution!"
                                }
                            }
                          } else {
                            - if <%value%.in_group[Civilian_IgaziJungle]> || <%value%.in_group[Soldier_IgaziJungle]> || <%value%.in_group[Guard_IgaziJungle]> || <%value%.in_group[Mercenary_IgaziJungle]> {
                                - if <server.flag[IgaziJungle_Revolution_Enabled]> == false {
                                    - foreach <server.list_players> {
                                        - if <%value%.flag[IgaziJungle_Kingdom]> {
                                            - flag server IgaziJungle_Citizens:++
                                        }
                                    }
                                    - if <server.flag[IgaziJungle_Citizens]> >= 10 && %value% == <player> {
                                        - flag server IgaziJungle_Citizens:0
                                        - flag server IgaziJungle_Revolution:++
                                        - flag player rev_votes:++
                                        - narrate "You've voted for an Igazi Jungle Revolution!"
                                        - queue clear
                                      } else {
                                        - flag server IgaziJungle_Citizens:0
                                        - if %value% == <player> {
                                            - narrate "That Kingdom doesn't have enough citizens for a revolution!"
                                            - queue clear
                                        }
                                    }
                                  } else {
                                    - if %value% == <player> {
                                        - narrate "That Kingdom is already in the midst of a revolution!"
                                    }
                                }
                              } else {
                                - if <%value%.in_group[King_Dragourn]> || <%value%.in_group[King_EnderValley]> || <%value%.in_group[King_WitherRock]> || <%value%.in_group[King_BoneyardIsles]> || <%value%.in_group[King_IgaziJungle]> {
                                    - narrate "You can't vote for a revolution against yourself!"
                                    - queue clear
                                }
                            }
                        }
                    }
                }
            }
        }
    }