Paste #16247: Edit of P#16245 - Edit of P#16242 - Untitled Paste

Date: 2015/06/04 01:43:07 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


Bounty:
    type: format
    format: "<green>Bounty Officer<white>: <text>"

Bounty Kill Mobs:
    type: world
    debug: false
    events:
        on entity death:
            - if <context.damager.entity_type||none> == PLAYER {
                - define killer <context.damager>
                - define type <context.entity.entity_type>
                - define baby <context.entity.age.as_int.is[LESS].than[0]>
                - define burning <context.entity.fire_time.in_seconds.is[!=].to[0]>
                - if %type% == PIG {
                    - determine passively NO_XP
                    - if %baby% {
                        - determine NO_DROPS
                    } else if %burning% {
                        - determine li@i@grilled_pork
                    } else { 
                        - determine li@i@pork
                    }
                } else if %type% == CHICKEN {
                    - determine passively NO_XP
                    - if %baby% {
                        - determine NO_DROPS
                    } else if %burning% {
                        - determine li@i@cooked_chicken
                    } else if <util.random.int[1].to[10]> < 3 {
                        - determine li@i@raw_chicken|i@feather
                    } else {
                        - determine li@i@raw_chicken
                    }
                } else if %type% == SHEEP {
                    - determine passively NO_XP
                    - if %baby% {
                        - determine NO_DROPS
                    }
                    else if %burning% {
                        - determine li@i@cooked_mutton
                    }
                    else if <util.random.int[1].to[10]> < 6 {
                        - define colour <context.entity.color>
                        - if %colour% == silver define colour light_gray
                        - determine li@i@mutton|i@%colour%_wool
                    } else {
                        - determine li@i@mutton
                    }
                } else if %type% == COW {
                    - determine passively NO_XP
                    - if %baby {
                        - determine NO_DROPS
                    } else if %burning% {
                        - determine li@i@cooked_beef
                    } else if <util.random.int[1].to[10]> < 4 {
                        - determine li@i@leather|i@raw_beef
                    } else {
                        - determine li@i@raw_beef
                    }
                } else if %type% == HORSE {
                    - determine NO_DROPS_OR_XP
                } else if %type% == RABBIT {
                    - determine passively NO_XP  
                    - if %baby% {
                        - determine NO_DROPS
                    } else if %burning% {
                        - determine li@i@cooked_rabbit
                    } else if <util.random.int[1].to[10]> < 3 {
                        - determine li@i@rabbit|i@rabbit_foot
                    } else {
                        - determine li@i@rabbit
                    }
                } else if %type% == MUSHROOM_COW {
                    - determine passively NO_DROPS_OR_XP
                    - define drops li@
                    - if <util.random.int[1].to[10]> < 3 {
                        - define drops <%drops%.include[i@leather]>
                    }
                    - if <util.random.int[1].to[100]> < 85 {
                        - define drops <%drops%.include[i@red_mushroom]>
                    - if <util.random.int[1].to[100]> < 5 {
                        - define drops <%drops%.include[i@raw_beef]>
                    }
                    - if <%drops%.size> != 0 
                        - determine %drops%
                    }
                } else if %type% == SQUID {
                    - determine passively NO_XP
                    - determine li@i@ink_sack
                } else if <def[type].contains_any[wolf|ocelot|bat|villager]> {
                    #- narrate format:Bounty "You killed a <context.entity.entity_type.to_lowercase> and gained no xp!" targets:%killer%
                    - determine NO_DROPS_OR_XP
                } else if %type% == SPIDER || %type% == CAVE_SPIDER {
                    - determine passively 5
                    - define drops li@
                    - if <util.random.int[1].to[100]> < 40 {
                        - define drops <%drops%.include[i@string]>
                    }
                    - if <util.random.int[1].to[100]> < 80 {
                        - define drops <%drops%.include[i@spider_eye]>
                    }
                    - if <%drops%.size> != 0 {
                        - determine %drops%
                    }
                } else if %type% == SKELETON {
                    - determine passively 5
                    - define drops li@i@bone
                    - if <util.random.int[1].to[100]> < 5 {
                        - define drops <%drops%.include[i@bow[durability=<util.random.int[195].to[300]>]]>
                    }
                    - determine %drops%
                } else if %type% == CREEPER {
                    - determine passively NO_DROPS
                    - determine passively 5
                    - if <util.random.int[1].to[100]> < 65 {
                        - determine li@i@sulphur
                    }
                } else if %type% == ZOMBIE {
                    - determine passively 5
                    - determine li@i@rotten_flesh
                } else if %type% == PIG_ZOMBIE {
                    - determine passively 7
                    - define drops li@i@rotten_flesh
                    - if <util.random.int[1].to[10]> < 2 {
                        - define drops <%drops%.include[i@gold_nugget]>
                    }
                    - determine %drops%
                } else if %type% == ENDERMAN {
                    - determine passively NO_DROPS
                    - determine passively 8
                    - if <util.random.int[1].to[10]> < 4 {
                        - determine li@i@ender_pearl
                    }
                } else if %type% == SILVERFISH {
                    - determine passively 5
                    - determine NO_DROPS
                } else if %type% == WITCH {
                    - determine 5
                    - random {
                        - determine li@i@stick|i@stick
                        - determine li@i@stick|i@stick
                        - determine li@i@stick|i@stick
                        - determine li@i@sugar|i@sugar
                        - determine li@i@spider_eye|i@stick
                    }
                }
                #- announce "<aqua><%killer%.name> <white>killed a <yellow>%type%" to_console
            } else {
                - determine NO_DROPS_OR_XP
            }

Bounty Command:
    type: command
    name: bounty
    usage: /bounty [player] [amount]
    description: Allows you to check and place bounty on a player.
    allowed help:
        - determine <player.has_flag[verified]||<context.server>>
    tab complete:
        - if <player.has_flag[verified]||<context.server>> determine <server.list_online_players.parse[name].filter[starts_with[<context.args.first>]]>
    script:
        - if <context.args.size> == 1 {
            - define selPlayer <server.match_player[<context.args.get[1]>]||none>
            - if %selPlayer% != none {
                - narrate format:ServerChat "<%selPlayer%.name> has $<def[selPlayer].flag[bounty]||0> bounty on them."
            }
        }