- D1 Meta Docs - Denizen Script -
Home Page / Pi to one million places / Contact mcmonkey / Donate / Paste Scripts / Denizen Help /
You are browsing as a guest.
Login | Register


Click here to create your own public paste ~ ~ click to duplicate and edit this paste


TitleDiff note for paste #16245
TypeDiff
Date2015/06/04 01:42:35 UTC-07:00
ByGuest
Other
Paste
+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>
+        - determine <player.has_flag[verified]||<context.server>>
     tab complete:
-        - if <player.has_flag[verified]> || <context.server> {
+        - if <player.has_flag[verified]||<context.server>> determine <server.list_online_players.parse[name].filter[starts_with[<context.args.first>]]>
-            - 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 {
+            - if %selPlayer% != none {
                 - narrate format:ServerChat "<%selPlayer%.name> has $<def[selPlayer].flag[bounty]||0> bounty on them."
             }
-        
         }
 
 



RawRaw



Pastes made: 66918