diff --git a/datapack/data/feathermc/origins/dragon.json b/datapack/data/feathermc/origins/dragon.json index 377dd89..91c3bd8 100644 --- a/datapack/data/feathermc/origins/dragon.json +++ b/datapack/data/feathermc/origins/dragon.json @@ -3,7 +3,10 @@ "description": "You're a big dragon! Mighty, chunky and a bit slow.", "powers": [ "feathermc:frail_flight", - "feathermc:bulwark" + "feathermc:bulwark", + "feathermc:digestion", + "feathermc:wide_figure", + "origins:fire_immunity" ], "order": 6, "impact": 2 diff --git a/datapack/data/feathermc/powers/bulwark.json b/datapack/data/feathermc/powers/bulwark.json index 97b4d59..363a428 100644 --- a/datapack/data/feathermc/powers/bulwark.json +++ b/datapack/data/feathermc/powers/bulwark.json @@ -7,6 +7,21 @@ "type": "origins:tooltip", "sprite": "minecraft:textures/item/cookie.png", "text": "Cookie heals you for 2 hearts." + }, + { + "type": "origins:tooltip", + "sprite": "minecraft:textures/gui/sprites/hud/heart/full.png", + "text": "An immense health boost to up to 20 hearts!" + }, + { + "type": "origins:tooltip", + "sprite": "minecraft:textures/gui/sprites/hud/heart/container.png", + "text": "Your health only regenerates up to 10 hearts! Heal the rest with other means!" + }, + { + "type": "origins:tooltip", + "sprite": "minecraft:textures/item/iron_chestplate.png", + "text": "You're a bit more resistant to knockback!" } ], "health": { @@ -14,7 +29,7 @@ "modifier": { "id": "bulwark_health", "attribute": "minecraft:generic.max_health", - "amount": 40, + "amount": 20, "operation": "add_value" } }, @@ -34,7 +49,7 @@ { "type": "origins:health", "comparison": "<", - "compare_to": 20 + "compare_to": 10 }, { "type": "apoli:food_level", diff --git a/datapack/data/feathermc/powers/digestion.json b/datapack/data/feathermc/powers/digestion.json new file mode 100644 index 0000000..8edcf41 --- /dev/null +++ b/datapack/data/feathermc/powers/digestion.json @@ -0,0 +1,421 @@ +{ + "type": "origins:multiple", + "name": "Digestion", + "description": "You rub your belly and quickly digest it's contents to restore your health.", + "toggleresource": { + "type": "origins:resource", + "min": 0, + "max": 1, + "starting_value": 0, + "min_action": { + "type": "origins:execute_command", + "command": "cpm animate @s BellyRubs 0" + }, + "max_action": { + "type": "origins:and", + "actions": [{ + "type": "origins:execute_command", + "command": "cpm animate @s BellyRubs 1" + }, + { + "type": "origins:apply_effect", + "effect": { + "id": "minecraft:hunger", + "duration": 50, + "is_ambient": true, + "show_particles": true, + "show_icon": true, + "amplifier": 100 + } + }]}, + "hud_render": { + "should_render": false + } + }, + "toggle_p": { + "type": "origins:active_self", + "entity_action": { + "type": "origins:if_else", + "condition": { + "type": "origins:resource", + "resource": "*:*_toggleresource", + "comparison": "==", + "compare_to": 0 + }, + "if_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:modify_resource", + "resource": "*:*_toggleresource", + "modifier": { + "operation": "set_base", + "amount": 1 + } + }, + { + "type": "origins:apply_effect", + "effect": { + "id": "minecraft:slowness", + "duration": 100, + "is_ambient": true, + "show_particles": false, + "show_icon": true, + "amplifier": 29 + } + } + ] + }, + "else_action": { + "type": "origins:modify_resource", + "resource": "*:*_toggleresource", + "modifier": { + "operation": "set_base", + "amount": 0 + } + } + }, + "key": { + "key": "key.origins.primary_active" + } + }, + "resettoggle": { + "type": "origins:action_over_time", + "interval": 10, + "entity_action": { + "type": "origins:modify_resource", + "resource": "*:*_toggleresource", + "modifier": { + "operation": "set_base", + "amount": 0 + } + }, + "condition": { + "type": "origins:or", + "conditions": [ + { + "type": "apoli:food_level", + "comparison": "<", + "compare_to": 3 + } + ] + } + }, + "resetbellycounter": { + "type": "origins:action_over_time", + "interval": 10, + "entity_action": { + "type": "origins:modify_resource", + "resource": "*:*_bellycounter", + "modifier": { + "operation": "set_base", + "amount": 0 + } + }, + "condition": { + "type": "origins:resource", + "resource": "*:*_toggleresource", + "comparison": "==", + "compare_to": 0 + } + }, + "bellycounter": { + "type": "origins:resource", + "min": 0, + "max": 40, + "starting_value": 0, + "hud_render": { + "should_render": true, + "sprite_location": "origins:textures/gui/resource_bar.png", + "bar_index": 2, + "inverted": false, + "condition": { + "type": "origins:resource", + "resource": "*:*_bellycounter", + "comparison": "!=", + "compare_to": 0 + } + }, + "max_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:change_resource", + "resource": "*:*_bellycounter", + "change": 0, + "operation": "set" + }, + { + "type": "origins:apply_effect", + "effect": { + "id": "minecraft:hunger", + "duration": 50, + "is_ambient": true, + "show_particles": true, + "show_icon": true, + "amplifier": 100 + } + }, + { + "type": "origins:if_else", + "condition": { + "type": "origins:health", + "comparison": "<", + "compare_to": 60 + }, + "if_action": {"type": "origins:and", + "actions": [{ + "type": "origins:heal", + "amount": 8 + },{ + "type": "origins:spawn_particles", + "particle": { + "type": "heart" + }, + "count": 5, + "speed": 0, + "force": false, + "spread": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + } + }]}, + "else_action": { + "type": "origins:execute_command", + "command": "summon experience_orb ~ ~ ~ {Count:10,Value:1}" + } + }, + { + "type": "origins:clear_effect", + "effect": "minecraft:poison" + }, + { + "type": "origins:clear_effect", + "effect": "minecraft:weakness" + }, + { + "type": "origins:clear_effect", + "effect": "minecraft:wither" + }, + { + "type": "origins:clear_effect", + "effect": "minecraft:mining_fatigue" + }, + { + "type": "origins:clear_effect", + "effect": "minecraft:unluck" + }, + { + "type": "origins:clear_effect", + "effect": "minecraft:blindness" + }, + { + "type": "origins:apply_effect", + "effect": { + "id": "minecraft:slowness", + "duration": 90, + "is_ambient": true, + "show_particles": false, + "show_icon": true, + "amplifier": 29 + } + }, + { + "type": "origins:choice", + "actions": [ + { + "element": { + "type": "origins:play_sound", + "sound": "bigdreg:belly_digest", + "volume": 1, + "pitch": 0.7 + }, + "weight": 1 + }, + { + "element": { + "type": "origins:play_sound", + "sound": "bigdreg:belly_digest", + "volume": 1, + "pitch": 0.8 + }, + "weight": 1 + }, + { + "element": { + "type": "origins:play_sound", + "sound": "bigdreg:belly_digest", + "volume": 1, + "pitch": 0.9 + }, + "weight": 1 + }, + { + "element": { + "type": "origins:play_sound", + "sound": "bigdreg:belly_digest", + "volume": 1, + "pitch": 1 + }, + "weight": 1 + } + ] + }, + { + "type": "origins:delay", + "ticks": 15, + "action": { + "type": "origins:play_sound", + "sound": "block.bubble_column.upwards_ambient", + "volume": 1, + "pitch": 0.5 + } + }, + { + "type": "origins:delay", + "ticks": 20, + "action": { + "type": "origins:chance", + "action": { + "type": "origins:execute_command", + "command": "cpm animate @s BellyGrowl 1" + }, + "chance": 0.25 + } + }, + { + "type": "origins:choice", + "actions": [ + { + "element":{ + "type": "origins:execute_command", + "command": "function bigdreg:digest" + }, + "weight": 1 + }, + { + "element":{ + "type": "origins:execute_command", + "command": "function bigdreg:digest_light" + }, + "weight": 2 + } + ] + } + ] + } + }, + "digest_hud": { + "type": "origins:action_over_time", + "interval": 1, + "entity_action": { + "type": "origins:change_resource", + "resource": "*:*_bellycounter", + "change": 1 + }, + "condition": { + "type": "origins:resource", + "resource": "*:*_toggleresource", + "comparison": "==", + "compare_to": 1 + } + }, + "takemoredamage": { + "name": "modify", + "condition": { + "type": "origins:resource", + "resource": "*:*_toggleresource", + "comparison": "==", + "compare_to": 1 + }, + "type": "origins:modify_damage_taken", + "damage_condition": { + "type": "origins:attacker" + }, + "modifier": { + "operation": "multiply_total_multiplicative", + "amount": 0.5 + } + }, + "whenhurt": { + "name": "exhaust when hit", + "condition": { + "type": "origins:resource", + "resource": "*:*_toggleresource", + "comparison": "==", + "compare_to": 1 + }, + "type": "origins:action_when_hit", + "bientity_action": { + "type": "origins:target_action", + "action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "id": "minecraft:nausea", + "duration": 100, + "is_ambient": true, + "show_particles": true, + "show_icon": true, + "amplifier": 0 + } + }, + { + "type": "origins:choice", + "actions": [ + { + "element": { + "type": "origins:play_sound", + "sound": "bigdreg:growl1", + "volume": 1.2, + "pitch": 0.5 + }, + "weight": 10 + }, + { + "element": { + "type": "origins:play_sound", + "sound": "bigdreg:growl2", + "volume": 1.2, + "pitch": 0.8 + }, + "weight": 10 + }, + { + "element": { + "type": "origins:play_sound", + "sound": "bigdreg:growl3", + "volume": 1.2, + "pitch": 0.5 + }, + "weight": 10 + } + ] + } + ] + } + }, + "damage_condition": { + "type": "origins:attacker" + }, + "cooldown": 1, + "hud_render": { + "should_render": false + } + }, + "badges": [ + { + "type": "origins:tooltip", + "sprite": "origins:textures/gui/badge/toggle.png", + "text": "Press the primary ability button to use. Press it again to cancel!" + }, + { + "type": "origins:tooltip", + "sprite": "minecraft:textures/item/cooked_beef.png", + "text": "Ability removes most negative effects. When you are at full health, you gain some exp instead." + } + ] +} diff --git a/datapack/data/feathermc/powers/wide_figure.json b/datapack/data/feathermc/powers/wide_figure.json new file mode 100644 index 0000000..eb0ad17 --- /dev/null +++ b/datapack/data/feathermc/powers/wide_figure.json @@ -0,0 +1,26 @@ +{ + "type": "origins:action_on_callback", + "name": "Huge Chonker", + "description": "You're quite wide! You won't fit through normal doors anymore...", + "badges": [ + { + "type": "origins:tooltip", + "sprite": "minecraft:textures/item/iron_door.png", + "text": "You're 2 blocks wide! You'll only fit through double doors." + } + ], + "entity_chosen_when_orb": true, + "entity_action_chosen": { + "type": "origins:and", + "actions": [ + { + "type": "origins:execute_command", + "command": "scale set pehkui:hitbox_width 2.0 @s" + } + ] + }, + "entity_action_lost": { + "type": "origins:execute_command", + "command": "scale reset @s" + } +}