Paste #53124: Vampire Stats

Date: 2019/03/09 07:39:03 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


BloodFlaskVampire:
    type: item
    display name: "<&4><bold>Blood Flask"
    material: potion[flags=li@HIDE_ATTRIBUTES]
    lore:
    - A flask of vampire blood.
    - Can heal any non-vampire.
BloodFlask:
    type: item
    display name: "<&4><bold>Blood Flask"
    material: potion[flags=li@HIDE_ATTRIBUTES]
    lore:
    - A flask of blood.
    - Can heal any vampire
DaylightRing:
    type: Item
    display name: "<&4><bold>Daylight Ring"
    material: iron_nugget
    lore:
    - This ring allows the darkness
    - to walk in the light.
WoodenDagger:
    type: item
    display name: "<&4><bold>Wooden Dagger"
    material: stick
    recipe:
    - i@air|i@air|i@air
    - i@air|stick|i@air
    - i@air|stick|i@air
    lore:
    - A wooden dagger crafted with
    - the purpose of cleansing the
    - world from darkness.
BloodConsumption:
    type: world
    debug: false
    events:
        on player consumes BLOODFLASK:
            - if <player.has_flag[is_a_vampire]> && <player.food_level> < 24 {
                - feed 5
                }
            - if !<player.has_flag[is_a_vampire]> {
                - cast confusion <player> d:3s hide_particles
                - narrate "<&8><&o>The consumption of non-vampiric blood disorients you."
                }
        on player consumes BLOODFLASKVAMPIRE:
            - if <player.has_flag[is_a_vampire]> && <player.food_level> < 24 {
                - feed 3
                }
            - if !<player.has_flag[is_a_vampire]> {
                - heal 4
                - narrate "<&8><&o>The consumption of vampiric blood heals you slightly."
                }
        on player consumes item:
           - if <player.has_flag[is_a_vampire]> {
                - if <context.item.scriptname> != "BLOODFLASK" && <context.item.scriptname> != "BLOODFLASKVAMPIRE" {
                    - determine cancelled
                    }
                }
VampirePerks:
    type: world
    debug: false
    events:
        on player join:
            - if <player.has_flag[is_a_vampire]> {
                - flag player specie:Vampire
                }
            - while <player.is_online> && <player.has_flag[is_a_vampire]> {
                - if <player.is_online> && <player.flag[age]> > 301 {
                    - flag player photosensitive:!
                    }
                - if <player.is_online> && <player.flag[age]> < 300 {
                    - flag player photosensitive
                    }
                - wait 4s
                - if <player.is_online> && <player.has_flag[is_a_vampire]> && <player.flag[age]> < 21 {
                    - cast speed <player> d:10s p:1 hide_particles
                    - cast jump <player> d:10 p:0 hide_particles
                    }
                - if <player.is_online> && <player.has_flag[is_a_vampire]> && <player.flag[age]> < 41 && <player.flag[age]> > 20 {
                    - cast speed <player> d:10s p:2 hide_particles
                    - cast jump <player> d:10 p:0 hide_particles
                    }
                - if <player.is_online> && <player.has_flag[is_a_vampire]> && <player.flag[age]> < 81 && <player.flag[age]> > 40 {
                    - cast speed <player> d:10s p:2 hide_particles
                    - cast jump <player> d:10 p:0 hide_particles
                    - cast strength <player> d:10s p:0 hide_particles
                    }
                - if <player.is_online> && <player.has_flag[is_a_vampire]> && <player.flag[age]> < 151 && <player.flag[age]> > 80 {
                    - cast speed <player> d:10s p:2 hide_particles
                    - cast jump <player> d:10 p:0 hide_particles
                    - cast increase_damage <player> d:10s p:0 hide_particles
                    }
                - if <player.is_online> && <player.has_flag[is_a_vampire]> && <player.flag[age]> < 301 && <player.flag[age]> > 150 {
                    - cast speed <player> d:10s p:2 hide_particles
                    - cast jump <player> d:10 p:0 hide_particles
                    - cast increase_damage <player> d:10s p:0 hide_particles
                    - cast damage_resistance <player> d:10s p:0 hide_particles
                    - cast regeneration <player> d:10s p:0 hide_particles
                    }
                - if <player.is_online> && <player.has_flag[is_a_vampire]> && <player.flag[age]> < 451 && <player.flag[age]> > 300 {
                    - cast speed <player> d:10s p:2 hide_particles
                    - cast jump <player> d:10 p:0 hide_particles
                    - cast increase_damage <player> d:10s p:1 hide_particles
                    - cast damage_resistance <player> d:10s p:1 hide_particles
                    - cast regeneration <player> d:10s p:1 hide_particles
                    }
                - if <player.is_online> && <player.has_flag[is_a_vampire]> && <player.flag[age]> > 450 {
                    - cast speed <player> d:10s p:3 hide_particles
                    - cast jump <player> d:10 p:0 hide_particles
                    - cast increase_damage <player> d:10s p:2 hide_particles
                    - cast damage_resistance <player> d:10s p:2 hide_particles
                    - cast regeneration <player> d:10s p:2 hide_particles
                    }
                }
        on player damaged by fall:
            - if <player.has_flag[is_a_vampire]> {
                - determine cancelled
                }
        on player damaged by drowning:
            - if <player.has_flag[is_a_vampire]> {
                - determine cancelled
                }
        on player damaged by starvation:
            - if <player.has_flag[is_a_vampire]> {
                - determine cancelled
                }
        on player damaged with i@WOODENDAGGER:
            - if <player.has_flag[is_a_vampire]> {
                - determine 6
                }
        on player damaged with stick:
            - if <player.has_flag[is_a_vampire]> {
                - determine 3
                }
        on player damages entity:
            - if <player.has_flag[is_a_vampire]> && <player.food_level> < 22 {
                - feed 2
                }
        on player death:
            - if <player.has_flag[vampireblood]> {
                - narrate "<italic><&4>You feel a strong surge of power... and an overwhelming hunger for blood..."
                - flag player is_a_vampire
                - flag player specie:Vampire
                }
BloodLust:
    type: world
    debug: false
    events:
        on entity damaged by player:
            - if <player.has_flag[bloodlust]> {
                - determine <context.damage.mul[1.25]>
                }
VampireCommands:
    type: command
    debug: false
    name: vampire
    usage: /vampire
    aliases:
    - v
    - vamp
    script:
        - if <player.has_flag[is_a_vampire]> && <context.args.get[1]> == "offer" {
            - if <player.food_level> < 3 {
                - narrate "<&4><italic>You do not have enough blood to offer.."
                - queue clear
                }
            - foreach <player.target[player].within[3]> {
                - narrate "<&4><italic>You offer <player.target[player].name> some blood"
                - narrate "<&4><italic><player.name> has offered you blood. Do you accept? (Type (/vampire accept) to accept or ignore this player to deny)" targets:<player.target[player]>
                - flag p@<player.target[player]> acceptingblood duration:10s
                - flag p@<player.target[player]> donater:<player.name> duration:10s
                }
            - flag player command_cooldown duration:1s
            }
        - if <context.args.get[1]> == "accept" && <player.has_flag[acceptingblood]> {
            - narrate "<&4><italic>You drink blood from an open wound"
            - heal 4
            - hurt 4 p@<player.flag[donater]>
            - narrate "<&4><italic><player.name> drinks some of your blood" targets:<player.target[player]>
            - feed -4 target:p@<player.flag[donater]>
            - flag player command_cooldown duration:1s
            - flag player acceptingblood:!
            - if !<player.has_flag[is_a_vampire]> {
                - flag player vampireblood duration:2m
                }
            - if <player.has_flag[is_a_vampire]> {
                - feed 4
                }
            }
        - if <player.has_flag[is_a_vampire]> && <context.args.get[1]> == "n" {
            - if !<player.has_effect[night_vision]> {
                - cast night_vision <player> d:10000
                - flag player command_cooldown duration:1s
                }
            else {
                - cast night_vision <player> d:0
                - flag player command_cooldown duration:1s
                }
            }
        - if <player.has_flag[is_a_vampire]> && <context.args.get[1]> == "b" {
            - if !<player.has_flag[bloodlust]> && <player.food_level> > 2 {
                - flag player bloodlust 
                - narrate "<&4><italic>The hunger for blood takes control"
                - while <player.food_level> > 1 && <player.has_flag[bloodlust]> {
                    - adjust <player> walk_speed:0.4
                    - feed -1
                    - wait 6t
                }
                - flag player bloodlust:!
                - adjust <player> walk_speed:0.2
                - narrate "<&4><italic>Your body settles"
                - flag player command_cooldown duration:1s
                }
             else {
                - if <player.food_level> < 3 {
                    - narrate "<&4><italic>You are too hungry to enter bloodlust"
                    }
                - flag player bloodlust:!
                - flag player command_cooldown duration:1s
                }
            }




        - if <player.has_flag[is_a_vampire]> && !<player.has_flag[command_cooldown]> {
            - narrate "__________________________________________________"
            - narrate "<&l><&9>Welcome to the Vampire Command Panel!"
            - narrate "Your sun exposure is at <bold><&7><player.flag[sun_exposure]>"
            - narrate "<&9>Here are some commands you can type<&co>"
            - narrate "/vampire offer (cursor on target)"
            - narrate "/vampire accept"
            - narrate "/vampire n (Toggle Night Vision)"
            - narrate "/vampire b (Bloodlust)"
            - narrate "__________________________________________________"
            }