Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,17 +1,32 @@
[frost_dragon]
id = 11633
hitpoints = 230
att = 180
str = 150
def = 150
mage = 150
combat_def = "frost_dragon"
drop_table = "frost_dragon"
wander_range = 4
hunt_mode = "aggressive"
allowed_under = true
slayer_xp = 235.5
categories = ["dragons", "frost_dragons"]
respawn_delay = 30
examine = "A dragon covered in frost and ice."

[frost_dragon_2]
id = 11634
clone = "frost_dragon"

[frost_dragon_3]
id = 11635
clone = "frost_dragon"

[frost_dragon_4]
id = 11636
clone = "frost_dragon"

[frost_dragon_5]
id = 51
categories = ["dragons"]
examine = "A dragon covered in frost and ice."

clone = "frost_dragon"
15 changes: 15 additions & 0 deletions data/entity/npc/monster/draconic/dragon.anims.toml
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,18 @@ id = 14249

[metal_dragon_shoot]
id = 14252

[frost_dragon_attack]
id = 13151

[frost_dragon_breath_close]
id = 13152

[frost_dragon_death]
id = 13153

[frost_dragon_block]
id = 13154

[frost_dragon_shoot]
id = 13155
63 changes: 62 additions & 1 deletion data/entity/npc/monster/draconic/dragon.drops.toml
Original file line number Diff line number Diff line change
Expand Up @@ -319,4 +319,65 @@ drops = [
type = "all"
drops = [
{ id = "babydragon_bones" }
]
]

[frost_dragon_drop_table]
type = "all"
drops = [
{ id = "frost_dragon_bones" },
{ table = "frost_dragon_secondary" },
{ table = "frost_dragon_tertiary" },
{ table = "hard_clue_scroll", chance = 128 },
]
[frost_dragon_secondary]
roll = 512
drops = [
{ id = "adamant_kiteshield", chance = 8 },
{ id = "adamant_platebody", chance = 8 },
{ id = "rune_dagger", chance = 2 },
{ id = "rune_longsword", chance = 8 },
{ id = "rune_spear" },
{ id = "rune_arrow", amount = 12, chance = 32 },
{ id = "rune_javelin", amount = 5, chance = 2 },
{ id = "water_rune", amount = 14, chance = 2 },
{ id = "law_rune", amount = 10, chance = 8 },
{ id = "blood_rune", amount = 10, chance = 8 },
{ id = "death_rune", min = 10, max = 15, chance = 32 },
{ id = "water_talisman_noted", amount = 2, chance = 32 },
{ id = "air_talisman_noted", amount = 2, chance = 32 },
{ id = "pure_essence_noted", amount = 50, chance = 8 },
{ id = "nature_talisman", chance = 8 },
{ id = "uncut_sapphire", chance = 8 },
{ id = "uncut_emerald", chance = 8 },
{ id = "uncut_ruby", chance = 8 },
{ id = "uncut_diamond", chance = 2 },
{ id = "uncut_dragonstone"},
{ id = "silver_ore_noted", amount = 100 },
{ id = "adamant_bar_noted", amount = 3, chance = 2 },
{ id = "grimy_guam_noted", chance = 32 },
{ id = "grimy_marrentill_noted", chance = 32 },
{ id = "grimy_tarromin_noted", chance = 32 },
{ id = "grimy_harralander_noted", chance = 32 },
{ id = "grimy_ranarr_noted", chance = 32 },
{ id = "grimy_irit_noted", chance = 32 },
{ id = "grimy_avantoe_noted", chance = 32 },
{ id = "grimy_kwuarm_noted", chance = 32 },
{ id = "grimy_cadantine_noted", chance = 32 },
{ id = "grimy_lantadyme_noted", chance = 32 },
{ id = "grimy_dwarf_weed_noted", chance = 32 },
]

[frost_dragon_tertiary]
roll = 10000
drops = [
{ id = "coins", min = 200, max = 1337, chance = 32 },
{ id = "draconic_visage" },
{ id = "limpwurt_root_noted", chance = 8 },
{ id = "mahogany_logs_noted", amount = 3, chance = 8 },
{ id = "shark", min = 1, max = 2, chance = 32 },
{ id = "shield_left_half" },
{ id = "water_orb_noted", amount = 2, chance = 8 },
{ id = "tooth_half_of_a_key" },
{ id = "loop_half_of_a_key" },
{ id = "starved_ancient_effigy", chance = 2 },
]
14 changes: 13 additions & 1 deletion data/entity/npc/monster/draconic/dragon.gfx.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,16 @@ time_offset = 20
multiplier = 0

[dragon_breath_shoot]
id = 2465
id = 2465

[frost_dragon_water]
id = 2705

[frost_dragon_ice_arrow]
id = 16

[frost_dragon_breath_ranged]
id = 2464

[frost_dragon.orb]
Comment thread
MrSlayerGod marked this conversation as resolved.
Outdated
id = 2875
Comment thread
GregHib marked this conversation as resolved.
53 changes: 53 additions & 0 deletions data/entity/npc/monster/draconic/frost_dragon.combat.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
[frost_dragon]
retreat_range = 8
defend_anim = "frost_dragon_block"
defend_sound = "dragon_defend"
death_anim = "frost_dragon_death"
death_sound = "dragon_death"

[frost_dragon.melee]
chance = 75
range = 1
anim = "frost_dragon_attack"
target_hit = { offense = "slash", max = 650 }
target_sound = "dragon_attack"

[frost_dragon.breath_swipe]
chance = 25
range = 1
anim = "frost_dragon_breath_close"
gfx = "dragon_breath_shoot"
target_hit = { offense = "dragonfire", special = true, max = 650 }
target_sound = "dragon_breath"

[frost_dragon.dragonfire_ranged]
chance = 25
range = 10
anim = "frost_dragon_shoot"
projectile = "frost_dragon_breath_ranged"
target_hit = { offense = "dragonfire", special = true, max = 650 }
target_sound = "dragon_breath"

[frost_dragon.ice_arrows]
chance = 25
Comment thread
MrSlayerGod marked this conversation as resolved.
range = 10
anim = "frost_dragon_shoot"
projectile = "frost_dragon_ice_arrow"
target_hit = { offense = "range", max = 250 }
target_sound = "dragon_attack"

[frost_dragon.magic]
chance = 25
Comment thread
MrSlayerGod marked this conversation as resolved.
range = 10
anim = "frost_dragon_shoot"
projectile = "frost_dragon_water"
target_hit = { offense = "magic", max = 250 }
target_sound = "dragon_breath"

[frost_dragon.orb]
condition = "frost_dragon_orb"
chance = 100
range = 10
gfx = "frost_dragon.orb"
Comment thread
MrSlayerGod marked this conversation as resolved.
Outdated
impact_regardless = true
target_hit = { offense = "none", max = 0 }
Comment thread
MrSlayerGod marked this conversation as resolved.
Outdated
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package content.area.asgarnia.asgarnian_ice_dungeon

import world.gregs.voidps.engine.Script
import world.gregs.voidps.engine.queue.softQueue

class FrostDragons : Script {

init {
npcAttack("frost_dragon*", "orb") {
set("orb_protection", true)
queue.clear("frost_dragon_orb_protection")
softQueue("frost_dragon_orb_protection", 8) {
clear("orb_protection")
}
}
Comment thread
MrSlayerGod marked this conversation as resolved.
}
}
1 change: 1 addition & 0 deletions game/src/main/kotlin/content/entity/combat/Target.kt
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ object Target {
Hit.meleeType(type) && !weapon.id.startsWith("leaf_bladed") -> 0
else -> damage
}
is NPC if target.id.startsWith("frost_dragon") && target["orb_protection", false] -> 0
Comment thread
MrSlayerGod marked this conversation as resolved.
Outdated
is NPC if target.id == "harpie_bug_swarm" && source is Player && source.equipped(EquipSlot.Shield).id != "lit_bug_lantern" -> 0
is NPC if target.def.contains("damage_cap") -> damage.coerceAtMost(target.def["damage_cap"])
is NPC if target.def.contains("immune_death") -> damage.coerceAtMost(target.levels.get(Skill.Constitution) - 10)
Expand Down